aboutsummaryrefslogtreecommitdiffstats
path: root/queries/scala
diff options
context:
space:
mode:
authorRobert Jackson <rjackson@linkedin.com>2023-10-15 14:43:34 -0400
committerGitHub <noreply@github.com>2023-10-15 18:43:34 +0000
commit4c9da29cbdc100c6a48b18975c015e54e620c298 (patch)
treef5bbad396c724e540794f990ef4f2673add57dc3 /queries/scala
parentfix(scala): ensure `function_definition` is in parent scope (diff)
downloadnvim-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.scm6
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))))