aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaehwang Jung <tomtomjhj@gmail.com>2023-04-08 14:09:39 +0900
committerStephan Seitz <stephan.seitz@fau.de>2023-04-08 09:40:30 -0700
commite482c9b4e225df02cf1f08d526b8fc88edda395e (patch)
treecf118e58fa96c399f86dec2b3d5b5791dd42a96f
parentrefactor(html_inject): Use lua-match instead of match (diff)
downloadnvim-treesitter-e482c9b4e225df02cf1f08d526b8fc88edda395e.tar
nvim-treesitter-e482c9b4e225df02cf1f08d526b8fc88edda395e.tar.gz
nvim-treesitter-e482c9b4e225df02cf1f08d526b8fc88edda395e.tar.bz2
nvim-treesitter-e482c9b4e225df02cf1f08d526b8fc88edda395e.tar.lz
nvim-treesitter-e482c9b4e225df02cf1f08d526b8fc88edda395e.tar.xz
nvim-treesitter-e482c9b4e225df02cf1f08d526b8fc88edda395e.tar.zst
nvim-treesitter-e482c9b4e225df02cf1f08d526b8fc88edda395e.zip
feat(cpp): more distinction between function/method declaration and call
-rw-r--r--queries/cpp/highlights.scm28
1 files changed, 21 insertions, 7 deletions
diff --git a/queries/cpp/highlights.scm b/queries/cpp/highlights.scm
index 854e03cb3..586067155 100644
--- a/queries/cpp/highlights.scm
+++ b/queries/cpp/highlights.scm
@@ -15,15 +15,10 @@
declarator: (_) @parameter)
;(field_expression) @parameter ;; How to highlight this?
-(template_function
- name: (identifier) @function)
-
-(template_method
- name: (field_identifier) @method)
(((field_expression
(field_identifier) @method)) @_parent
- (#has-parent? @_parent template_method function_declarator call_expression))
+ (#has-parent? @_parent template_method function_declarator))
(field_declaration
(field_identifier) @field)
@@ -61,6 +56,12 @@
declarator: (qualified_identifier
name: (qualified_identifier
name: (identifier) @function)))
+(function_declarator
+ declarator: (template_function
+ name: (identifier) @function))
+(function_declarator
+ declarator: (template_method
+ name: (field_identifier) @method))
((function_declarator
declarator: (qualified_identifier
name: (identifier) @constructor))
@@ -83,10 +84,23 @@
name: (qualified_identifier
name: (qualified_identifier
name: (identifier) @function.call))))
+(call_expression
+ function: (template_function
+ name: (identifier) @function.call))
+(call_expression
+ function: (qualified_identifier
+ name: (template_function
+ name: (identifier) @function.call)))
+(call_expression
+ function:
+ (qualified_identifier
+ name: (qualified_identifier
+ name: (template_function
+ name: (identifier) @function.call))))
(call_expression
function: (field_expression
- field: (field_identifier) @function.call))
+ field: (field_identifier) @method.call))
((call_expression
function: (identifier) @constructor)