Fix locals tracking in Rust closures (#3027)
The fix comes from the rewriting of the `closure_parameters` stanza: it was capturing the entire `closure_parameters` node including paretheses, whitespace, and commas. Capturing the identifiers within fixes the tracking. In order to make sure locals definitions from closure parameters don't leak out of the body of the closure, though, we should also mark the closure itself as a locals scope.
This commit is contained in:
parent
791bf7e50a
commit
9753da6ab7
1 changed files with 2 additions and 1 deletions
|
@ -1,6 +1,7 @@
|
|||
; Scopes
|
||||
|
||||
(block) @local.scope
|
||||
(closure_expression) @local.scope
|
||||
|
||||
; Definitions
|
||||
|
||||
|
@ -10,7 +11,7 @@
|
|||
(let_declaration
|
||||
pattern: (identifier) @local.definition)
|
||||
|
||||
(closure_parameters (identifier)) @local.definition
|
||||
(closure_parameters (identifier) @local.definition)
|
||||
|
||||
; References
|
||||
(identifier) @local.reference
|
||||
|
|
Loading…
Reference in a new issue