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.scm20
1 files changed, 15 insertions, 5 deletions
diff --git a/runtime/queries/cpp/highlights.scm b/runtime/queries/cpp/highlights.scm
index 2224dbc1..3493ba34 100644
--- a/runtime/queries/cpp/highlights.scm
+++ b/runtime/queries/cpp/highlights.scm
@@ -23,11 +23,6 @@
; Functions
-; 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
@@ -39,6 +34,8 @@
(template_method
name: (field_identifier) @function)
+; Support up to 3 levels of nesting of qualifiers
+; i.e. a::b::c::func();
(function_declarator
declarator: (qualified_identifier
name: (identifier) @function))
@@ -49,6 +46,12 @@
name: (identifier) @function)))
(function_declarator
+ declarator: (qualified_identifier
+ name: (qualified_identifier
+ name: (qualified_identifier
+ name: (identifier) @function))))
+
+(function_declarator
declarator: (field_identifier) @function)
; Parameters
@@ -72,6 +75,13 @@
"()"
] @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"