Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/queries/cpp/highlights.scm')
| -rw-r--r-- | runtime/queries/cpp/highlights.scm | 97 |
1 files changed, 28 insertions, 69 deletions
diff --git a/runtime/queries/cpp/highlights.scm b/runtime/queries/cpp/highlights.scm index 96e2a7e0..c1d14a0b 100644 --- a/runtime/queries/cpp/highlights.scm +++ b/runtime/queries/cpp/highlights.scm @@ -1,47 +1,14 @@ -; inherits: c - -; Constants - -(this) @variable.builtin -(null) @constant.builtin - -; Types - -(using_declaration ("using" "namespace" (identifier) @namespace)) -(using_declaration ("using" "namespace" (qualified_identifier name: (identifier) @namespace))) -(namespace_definition name: (namespace_identifier) @namespace) -(namespace_identifier) @namespace - -(auto) @type -"decltype" @type +; Functions -(ref_qualifier ["&" "&&"] @type.builtin) -(reference_declarator ["&" "&&"] @type.builtin) -(abstract_reference_declarator ["&" "&&"] @type.builtin) +; These casts are parsed as function calls, but are not. +((identifier) @keyword (#eq? @keyword "static_cast")) +((identifier) @keyword (#eq? @keyword "dynamic_cast")) +((identifier) @keyword (#eq? @keyword "reinterpret_cast")) +((identifier) @keyword (#eq? @keyword "const_cast")) -; ------- -; Functions -; ------- -; Support up to 4 levels of nesting of qualifiers -; i.e. a::b::c::d::func(); (call_expression function: (qualified_identifier name: (identifier) @function)) -(call_expression - function: (qualified_identifier - name: (qualified_identifier - name: (identifier) @function))) -(call_expression - function: (qualified_identifier - name: (qualified_identifier - name: (qualified_identifier - name: (identifier) @function)))) -(call_expression - function: (qualified_identifier - name: (qualified_identifier - name: (qualified_identifier - name: (qualified_identifier - name: (identifier) @function))))) (template_function name: (identifier) @function) @@ -49,41 +16,38 @@ (template_method name: (field_identifier) @function) -; Support up to 4 levels of nesting of qualifiers -; i.e. a::b::c::d::func(); (function_declarator declarator: (qualified_identifier name: (identifier) @function)) + (function_declarator declarator: (qualified_identifier name: (qualified_identifier name: (identifier) @function))) -(function_declarator - declarator: (qualified_identifier - name: (qualified_identifier - name: (qualified_identifier - name: (identifier) @function)))) -(function_declarator - declarator: (qualified_identifier - name: (qualified_identifier - name: (qualified_identifier - name: (qualified_identifier - name: (identifier) @function))))) (function_declarator declarator: (field_identifier) @function) -; Constructors +; Types + +(using_declaration ("using" "namespace" (identifier) @namespace)) +(using_declaration ("using" "namespace" (qualified_identifier name: (identifier) @namespace))) +(namespace_definition name: (namespace_identifier) @namespace) +(namespace_identifier) @namespace + +(qualified_identifier name: (identifier) @type.enum.variant) + +(auto) @type +"decltype" @type + +(ref_qualifier ["&" "&&"] @type.builtin) +(reference_declarator ["&" "&&"] @type.builtin) +(abstract_reference_declarator ["&" "&&"] @type.builtin) -(class_specifier - (type_identifier) @type - (field_declaration_list - (function_definition - (function_declarator - (identifier) @constructor))) - (#eq? @type @constructor)) -(destructor_name "~" @constructor - (identifier) @constructor) +; Constants + +(this) @variable.builtin +(nullptr) @constant.builtin ; Parameters @@ -106,13 +70,6 @@ "()" ] @operator - -; These casts are parsed as function calls, but are not. -((identifier) @keyword (#eq? @keyword "static_cast")) -((identifier) @keyword (#eq? @keyword "dynamic_cast")) -((identifier) @keyword (#eq? @keyword "reinterpret_cast")) -((identifier) @keyword (#eq? @keyword "const_cast")) - [ "co_await" "co_return" @@ -175,3 +132,5 @@ ; Strings (raw_string_literal) @string + +; inherits: c |