mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-16 02:10:15 -04:00
Add rust locals.scm
This commit is contained in:
parent
97ad374816
commit
a027ffbe82
4 changed files with 111 additions and 1 deletions
|
|
@ -131,6 +131,7 @@ are optional and will not have any effect for now.
|
||||||
macro
|
macro
|
||||||
type
|
type
|
||||||
field
|
field
|
||||||
|
namespace for modules or C++ namespaces
|
||||||
import for imported names
|
import for imported names
|
||||||
doc for documentation adjacent to a definition. E.g.
|
doc for documentation adjacent to a definition. E.g.
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@
|
||||||
|
|
||||||
;; References
|
;; References
|
||||||
(identifier) @reference
|
(identifier) @reference
|
||||||
(type_identifier) @reference
|
(type_identifier) @reference.type
|
||||||
|
|
||||||
;; Scope
|
;; Scope
|
||||||
[
|
[
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,13 @@
|
||||||
(alias_declaration
|
(alias_declaration
|
||||||
name: (type_identifier) @definition.type)
|
name: (type_identifier) @definition.type)
|
||||||
|
|
||||||
|
;; Namespaces
|
||||||
|
(namespace_definition
|
||||||
|
name: (identifier) @definition.namespace
|
||||||
|
body (_) @scope)
|
||||||
|
|
||||||
|
(namespace_identifier) @reference.namespace
|
||||||
|
|
||||||
;; Function defintions
|
;; Function defintions
|
||||||
(template_function
|
(template_function
|
||||||
name: (identifier) @definition.function) @scope
|
name: (identifier) @definition.function) @scope
|
||||||
|
|
|
||||||
102
queries/rust/locals.scm
Normal file
102
queries/rust/locals.scm
Normal file
|
|
@ -0,0 +1,102 @@
|
||||||
|
; Imports
|
||||||
|
(extern_crate_declaration
|
||||||
|
name: (identifier) @definition.import)
|
||||||
|
|
||||||
|
(use_declaration
|
||||||
|
argument: (scoped_identifier
|
||||||
|
name: (identifier) @definition.import))
|
||||||
|
|
||||||
|
(use_as_clause
|
||||||
|
alias: (identifier) @definition.import)
|
||||||
|
|
||||||
|
(use_list
|
||||||
|
(identifier) @definition.import) ; use std::process::{Child, Command, Stdio};
|
||||||
|
|
||||||
|
; Functions
|
||||||
|
(function_item
|
||||||
|
name: (identifier) @definition.function)
|
||||||
|
|
||||||
|
(function_item
|
||||||
|
name: (identifier) @definition.method
|
||||||
|
parameters: (parameters
|
||||||
|
(self_parameter)))
|
||||||
|
|
||||||
|
; Variables
|
||||||
|
(parameter
|
||||||
|
pattern: (identifier) @definition.var)
|
||||||
|
|
||||||
|
(let_declaration
|
||||||
|
pattern: (identifier) @definition.var)
|
||||||
|
|
||||||
|
(const_item
|
||||||
|
name: (identifier) @definition.var)
|
||||||
|
|
||||||
|
(tuple_pattern
|
||||||
|
(identifier) @definition.var)
|
||||||
|
|
||||||
|
(if_let_expression
|
||||||
|
pattern: (_
|
||||||
|
(identifier) @definition.var))
|
||||||
|
|
||||||
|
(tuple_struct_pattern
|
||||||
|
(identifier) @definition.var)
|
||||||
|
|
||||||
|
(closure_parameters
|
||||||
|
(identifier) @definition.var)
|
||||||
|
|
||||||
|
(self_parameter
|
||||||
|
(self) @definition.var)
|
||||||
|
|
||||||
|
(for_expression
|
||||||
|
pattern: (identifier) @definition.var)
|
||||||
|
|
||||||
|
; Types
|
||||||
|
(struct_item
|
||||||
|
name: (type_identifier) @definition.type)
|
||||||
|
|
||||||
|
(constrained_type_parameter
|
||||||
|
left: (type_identifier) @definition.type) ; the P in remove_file<P: AsRef<Path>>(path: P)
|
||||||
|
|
||||||
|
(enum_item
|
||||||
|
name: (type_identifier) @definition.type)
|
||||||
|
|
||||||
|
|
||||||
|
; Fields
|
||||||
|
(field_declaration
|
||||||
|
name: (field_identifier) @definition.field)
|
||||||
|
|
||||||
|
(enum_variant
|
||||||
|
name: (identifier) @definition.field)
|
||||||
|
|
||||||
|
; References
|
||||||
|
(identifier) @reference
|
||||||
|
(type_identifier) @reference.type
|
||||||
|
(field_identifier) @reference.field
|
||||||
|
|
||||||
|
|
||||||
|
; Macros
|
||||||
|
(macro_definition
|
||||||
|
name: (identifier) @definition.macro)
|
||||||
|
|
||||||
|
; Module
|
||||||
|
(mod_item
|
||||||
|
name: (identifier) @definition.namespace)
|
||||||
|
|
||||||
|
; Scopes
|
||||||
|
[
|
||||||
|
(block)
|
||||||
|
(function_item)
|
||||||
|
(closure_expression)
|
||||||
|
(while_expression)
|
||||||
|
(for_expression)
|
||||||
|
(loop_expression)
|
||||||
|
(if_expression)
|
||||||
|
(if_let_expression)
|
||||||
|
(match_expression)
|
||||||
|
(match_arm)
|
||||||
|
|
||||||
|
(struct_item)
|
||||||
|
(enum_item)
|
||||||
|
(impl_item)
|
||||||
|
] @scope
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue