aboutsummaryrefslogtreecommitdiffstats
path: root/queries/cpp
diff options
context:
space:
mode:
authorSteven Sojka <steelsojka@gmail.com>2020-08-15 09:24:24 -0500
committerSteven Sojka <steelsojka@gmail.com>2020-08-16 09:04:07 -0500
commit579c9936d617ca1d7f01542a4b8000972c1ce73c (patch)
tree8b9cbb24ab959ad45a8e8611edd7cf20d707b327 /queries/cpp
parentMerge pull request #291 from vigoux/post-upstream-work (diff)
downloadnvim-treesitter-579c9936d617ca1d7f01542a4b8000972c1ce73c.tar
nvim-treesitter-579c9936d617ca1d7f01542a4b8000972c1ce73c.tar.gz
nvim-treesitter-579c9936d617ca1d7f01542a4b8000972c1ce73c.tar.bz2
nvim-treesitter-579c9936d617ca1d7f01542a4b8000972c1ce73c.tar.lz
nvim-treesitter-579c9936d617ca1d7f01542a4b8000972c1ce73c.tar.xz
nvim-treesitter-579c9936d617ca1d7f01542a4b8000972c1ce73c.tar.zst
nvim-treesitter-579c9936d617ca1d7f01542a4b8000972c1ce73c.zip
feat(highlights): add is predicate
Diffstat (limited to 'queries/cpp')
-rw-r--r--queries/cpp/highlights.scm15
-rw-r--r--queries/cpp/locals.scm12
2 files changed, 19 insertions, 8 deletions
diff --git a/queries/cpp/highlights.scm b/queries/cpp/highlights.scm
index 0eb541269..fe7283136 100644
--- a/queries/cpp/highlights.scm
+++ b/queries/cpp/highlights.scm
@@ -8,7 +8,12 @@
(#match? @field "_$"))
; function(Foo ...foo)
-(variadic_parameter_declaration) @parameter
+(variadic_parameter_declaration
+ declarator: (variadic_declarator
+ (identifier) @parameter))
+; int foo = 0
+(optional_parameter_declaration
+ declarator: (identifier) @parameter)
;(field_expression) @parameter ;; How to highlight this?
(template_function
@@ -42,20 +47,20 @@
(#match? @constructor "^[A-Z]"))
(call_expression
- function: (scoped_identifier
+ function: (scoped_identifier
name: (identifier) @function))
(call_expression
- function: (field_expression
+ function: (field_expression
field: (field_identifier) @function))
((call_expression
- function: (scoped_identifier
+ function: (scoped_identifier
name: (identifier) @constructor))
(#match? @constructor "^[A-Z]"))
((call_expression
- function: (field_expression
+ function: (field_expression
field: (field_identifier) @constructor))
(#match? @constructor "^[A-Z]"))
diff --git a/queries/cpp/locals.scm b/queries/cpp/locals.scm
index c625e9ce3..2108f7caf 100644
--- a/queries/cpp/locals.scm
+++ b/queries/cpp/locals.scm
@@ -1,3 +1,9 @@
+;; Parameters
+(variadic_parameter_declaration
+ declarator: (variadic_declarator
+ (identifier) @definition.parameter))
+(optional_parameter_declaration
+ declarator: (identifier) @definition.parameter)
;; Class / struct defintions
(class_specifier) @scope
@@ -10,14 +16,14 @@
(identifier) @definition.var)
(struct_specifier
- name: (type_identifier) @definition.type)
+ name: (type_identifier) @definition.type)
(struct_specifier
name: (scoped_type_identifier
name: (type_identifier) @definition.type))
(class_specifier
- name: (type_identifier) @definition.type)
+ name: (type_identifier) @definition.type)
(class_specifier
name: (scoped_type_identifier
@@ -32,7 +38,7 @@
(template_declaration) @scope
;; Namespaces
-(namespace_definition
+(namespace_definition
name: (identifier) @definition.namespace
body: (_) @scope)