summaryrefslogtreecommitdiffstats
path: root/queries/cpp/locals.scm
diff options
context:
space:
mode:
authorStephan Seitz <stephan.seitz@fau.de>2020-05-23 21:23:05 +0200
committerStephan Seitz <stephan.seitz@fau.de>2020-06-15 11:51:28 +0200
commit1badceea813d321d0d58319d5fc5dde07e98f18f (patch)
treec43d4e066e5f4be2992592c89717d9bc2e20688d /queries/cpp/locals.scm
parentAdd @error highlight to c/highlights.scm (diff)
downloadnvim-treesitter-1badceea813d321d0d58319d5fc5dde07e98f18f.tar
nvim-treesitter-1badceea813d321d0d58319d5fc5dde07e98f18f.tar.gz
nvim-treesitter-1badceea813d321d0d58319d5fc5dde07e98f18f.tar.bz2
nvim-treesitter-1badceea813d321d0d58319d5fc5dde07e98f18f.tar.lz
nvim-treesitter-1badceea813d321d0d58319d5fc5dde07e98f18f.tar.xz
nvim-treesitter-1badceea813d321d0d58319d5fc5dde07e98f18f.tar.zst
nvim-treesitter-1badceea813d321d0d58319d5fc5dde07e98f18f.zip
Add cpp/locals.scm
Diffstat (limited to 'queries/cpp/locals.scm')
-rw-r--r--queries/cpp/locals.scm49
1 files changed, 49 insertions, 0 deletions
diff --git a/queries/cpp/locals.scm b/queries/cpp/locals.scm
new file mode 100644
index 000000000..00268442c
--- /dev/null
+++ b/queries/cpp/locals.scm
@@ -0,0 +1,49 @@
+
+;; Class / struct defintions
+(class_specifier) @scope
+(struct_specifier) @scope
+
+
+(struct_specifier
+ name: (type_identifier) @definition.type)
+
+(struct_specifier
+ name: (scoped_type_identifier
+ name: (type_identifier) @definition.type) )
+
+(class_specifier
+ name: (type_identifier) @definition.type)
+
+(class_specifier
+ name: (scoped_type_identifier
+ name: (type_identifier) @definition.type) )
+
+;; Function defintions
+(template_function
+ name: (identifier) @definition.function) @scope
+
+(template_method
+ name: (field_identifier) @definition.method) @scope
+
+(template_function
+ name: (scoped_identifier
+ name: (identifier) @definition.function)) @scope
+
+(function_declarator
+ declarator: (scoped_identifier
+ name: (type_identifier) @definition.function)) @scope
+
+(field_declaration
+ declarator: (function_declarator
+ (field_identifier) @definition.method))
+
+(lambda_expression) @scope
+
+;; Control structures
+(try_statement
+ body: (*) @scope)
+
+(catch_clause) @scope
+
+(destructor_name
+ name: (*) @constructor)