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.scm61
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"