diff options
| author | John Drouhard <john@drouhard.dev> | 2023-04-08 13:21:09 -0500 |
|---|---|---|
| committer | Stephan Seitz <stephan.seitz@fau.de> | 2023-04-15 07:00:14 -0700 |
| commit | dad0864fa324d1df88242a978e9d7de383c5be68 (patch) | |
| tree | fa88a6b447db5334c5e7cf651ce0e0f539fb7152 /queries/cpp | |
| parent | fix(php_inject): add missing @combined to text (diff) | |
| download | nvim-treesitter-dad0864fa324d1df88242a978e9d7de383c5be68.tar nvim-treesitter-dad0864fa324d1df88242a978e9d7de383c5be68.tar.gz nvim-treesitter-dad0864fa324d1df88242a978e9d7de383c5be68.tar.bz2 nvim-treesitter-dad0864fa324d1df88242a978e9d7de383c5be68.tar.lz nvim-treesitter-dad0864fa324d1df88242a978e9d7de383c5be68.tar.xz nvim-treesitter-dad0864fa324d1df88242a978e9d7de383c5be68.tar.zst nvim-treesitter-dad0864fa324d1df88242a978e9d7de383c5be68.zip | |
feat(cpp): improve function.call to support any level of nesting for qualified identifiers
Diffstat (limited to 'queries/cpp')
| -rw-r--r-- | queries/cpp/highlights.scm | 101 |
1 files changed, 68 insertions, 33 deletions
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) |
