diff options
| author | Robert Jackson <rjackson@linkedin.com> | 2023-10-15 14:43:34 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-15 18:43:34 +0000 |
| commit | 4c9da29cbdc100c6a48b18975c015e54e620c298 (patch) | |
| tree | f5bbad396c724e540794f990ef4f2673add57dc3 /queries/scala | |
| parent | fix(scala): ensure `function_definition` is in parent scope (diff) | |
| download | nvim-treesitter-4c9da29cbdc100c6a48b18975c015e54e620c298.tar nvim-treesitter-4c9da29cbdc100c6a48b18975c015e54e620c298.tar.gz nvim-treesitter-4c9da29cbdc100c6a48b18975c015e54e620c298.tar.bz2 nvim-treesitter-4c9da29cbdc100c6a48b18975c015e54e620c298.tar.lz nvim-treesitter-4c9da29cbdc100c6a48b18975c015e54e620c298.tar.xz nvim-treesitter-4c9da29cbdc100c6a48b18975c015e54e620c298.tar.zst nvim-treesitter-4c9da29cbdc100c6a48b18975c015e54e620c298.zip | |
fix(scala): add `for_expression` locals
This change does two main things:
1. Indicate that `(for_expression)`'s introduce a `@scope` (this
is the scope for the enumerators to be used within the loop).
2. Indicate that the `(identifiers)` within the `(enumerators)` are
`@definition.var`s.
---
For the following example snippet:
```scala
val fruits = List("apple", "banana", "avocado", "papaya")
val countsToFruits = fruits.groupBy(fruit => fruit.count(_ == 'a'))
for ((count, fruits) <- countsToFruits) {
println(s"with (fruits) 'a' × $count = $fruits")
}
```
The `count` and `fruits` identifiers are new definitions introduced by
the `for` expressions scope.
Diffstat (limited to 'queries/scala')
| -rw-r--r-- | queries/scala/locals.scm | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/queries/scala/locals.scm b/queries/scala/locals.scm index d006556ab..9f81e2859 100644 --- a/queries/scala/locals.scm +++ b/queries/scala/locals.scm @@ -5,6 +5,7 @@ (lambda_expression) (function_definition) (block) + (for_expression) ] @scope ; References @@ -44,3 +45,8 @@ (var_declaration name: (identifier) @definition.var) +(for_expression + enumerators: (enumerators + (enumerator + (tuple_pattern + (identifier) @definition.var)))) |
