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 | 61 |
1 files changed, 10 insertions, 51 deletions
diff --git a/runtime/queries/cpp/highlights.scm b/runtime/queries/cpp/highlights.scm index 96e2a7e0..2224dbc1 100644 --- a/runtime/queries/cpp/highlights.scm +++ b/runtime/queries/cpp/highlights.scm @@ -12,6 +12,8 @@ (namespace_definition name: (namespace_identifier) @namespace) (namespace_identifier) @namespace +(qualified_identifier name: (identifier) @type.enum.variant) + (auto) @type "decltype" @type @@ -19,29 +21,17 @@ (reference_declarator ["&" "&&"] @type.builtin) (abstract_reference_declarator ["&" "&&"] @type.builtin) -; ------- ; Functions -; ------- -; Support up to 4 levels of nesting of qualifiers -; i.e. a::b::c::d::func(); + +; 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")) + (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,42 +39,18 @@ (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 - -(class_specifier - (type_identifier) @type - (field_declaration_list - (function_definition - (function_declarator - (identifier) @constructor))) - (#eq? @type @constructor)) -(destructor_name "~" @constructor - (identifier) @constructor) - ; Parameters (parameter_declaration @@ -106,13 +72,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" |