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.scm100
1 files changed, 26 insertions, 74 deletions
diff --git a/runtime/queries/cpp/highlights.scm b/runtime/queries/cpp/highlights.scm
index 96e2a7e0..509dcdf7 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,48 +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
-(class_specifier
- (type_identifier) @type
- (field_declaration_list
- (function_definition
- (function_declarator
- (identifier) @constructor)))
- (#eq? @type @constructor))
-(destructor_name "~" @constructor
- (identifier) @constructor)
+(using_declaration ("using" "namespace" (identifier) @namespace))
+(using_declaration ("using" "namespace" (qualified_identifier name: (identifier) @namespace)))
+(namespace_definition name: (namespace_identifier) @namespace)
+(namespace_identifier) @namespace
-; Parameters
+(qualified_identifier name: (identifier) @type.enum.variant)
-(parameter_declaration
- declarator: (reference_declarator (identifier) @variable.parameter))
-(optional_parameter_declaration
- declarator: (identifier) @variable.parameter)
+(auto) @type
+"decltype" @type
+
+(ref_qualifier ["&" "&&"] @type.builtin)
+(reference_declarator ["&" "&&"] @type.builtin)
+(abstract_reference_declarator ["&" "&&"] @type.builtin)
+
+; Constants
+
+(this) @variable.builtin
+(nullptr) @constant.builtin
; Keywords
@@ -106,13 +63,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 +125,5 @@
; Strings
(raw_string_literal) @string
+
+; inherits: c