From dad0864fa324d1df88242a978e9d7de383c5be68 Mon Sep 17 00:00:00 2001 From: John Drouhard Date: Sat, 8 Apr 2023 13:21:09 -0500 Subject: feat(cpp): improve function.call to support any level of nesting for qualified identifiers --- queries/cpp/highlights.scm | 101 ++++++++++++++++++++++++++++++--------------- 1 file changed, 68 insertions(+), 33 deletions(-) (limited to 'queries/cpp') diff --git a/queries/cpp/highlights.scm b/queries/cpp/highlights.scm index 586067155..97a3b9f39 100644 --- a/queries/cpp/highlights.scm +++ b/queries/cpp/highlights.scm @@ -49,58 +49,93 @@ (destructor_name (identifier) @method) +; functions (function_declarator - declarator: (qualified_identifier - name: (identifier) @function)) + (qualified_identifier + (identifier) @function)) (function_declarator - declarator: (qualified_identifier - name: (qualified_identifier - name: (identifier) @function))) + (qualified_identifier + (qualified_identifier + (identifier) @function))) (function_declarator - declarator: (template_function - name: (identifier) @function)) + (qualified_identifier + (qualified_identifier + (qualified_identifier + (identifier) @function)))) +((qualified_identifier + (qualified_identifier + (qualified_identifier + (qualified_identifier + (identifier) @function)))) @_parent + (#has-ancestor? @_parent function_declarator)) + (function_declarator - declarator: (template_method - name: (field_identifier) @method)) -((function_declarator - declarator: (qualified_identifier - name: (identifier) @constructor)) - (#lua-match? @constructor "^[A-Z]")) + (template_function + (identifier) @function)) (operator_name) @function "operator" @function "static_assert" @function.builtin (call_expression - function: (qualified_identifier - name: (identifier) @function.call)) + (qualified_identifier + (identifier) @function.call)) (call_expression - function: (qualified_identifier - name: (qualified_identifier - name: (identifier) @function.call))) + (qualified_identifier + (qualified_identifier + (identifier) @function.call))) (call_expression - function: + (qualified_identifier + (qualified_identifier (qualified_identifier - name: (qualified_identifier - name: (qualified_identifier - name: (identifier) @function.call)))) + (identifier) @function.call)))) +((qualified_identifier + (qualified_identifier + (qualified_identifier + (qualified_identifier + (identifier) @function.call)))) @_parent + (#has-ancestor? @_parent call_expression)) + (call_expression - function: (template_function - name: (identifier) @function.call)) + (template_function + (identifier) @function.call)) (call_expression - function: (qualified_identifier - name: (template_function - name: (identifier) @function.call))) + (qualified_identifier + (template_function + (identifier) @function.call))) +(call_expression + (qualified_identifier + (qualified_identifier + (template_function + (identifier) @function.call)))) (call_expression - function: + (qualified_identifier + (qualified_identifier (qualified_identifier - name: (qualified_identifier - name: (template_function - name: (identifier) @function.call)))) + (template_function + (identifier) @function.call))))) +((qualified_identifier + (qualified_identifier + (qualified_identifier + (qualified_identifier + (template_function + (identifier) @function.call))))) @_parent + (#has-ancestor? @_parent call_expression)) +; methods +(function_declarator + (template_method + (field_identifier) @method)) (call_expression - function: (field_expression - field: (field_identifier) @method.call)) + (field_expression + (field_identifier) @method.call)) + +; constructors + +((function_declarator + (qualified_identifier + (identifier) @constructor)) + (#lua-match? @constructor "^[A-Z]")) ((call_expression function: (identifier) @constructor) -- cgit v1.2.3-70-g09d2