Unnamed repository; edit this file 'description' to name the repository.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
; Scopes

[
  (function_item)
  (function_lit)
  (module_item)
  (let_expression)
  (let_block)
  (assign_block)
  (for_block)
  (intersection_for_block)
  (list_comprehension)
] @local.scope

; Definitions

; Parameters: a bare `identifier`, or `name = default` via an `assignment`.
(parameters
  (parameter
    (identifier) @local.definition.variable.parameter))
(parameters
  (parameter
    (assignment
      name: (identifier) @local.definition.variable.parameter)))

; let(x = ...) / assign(x = ...) / for(x = ...) bindings
(assignments
  (assignment
    name: (identifier) @local.definition.variable))

; References

(identifier) @local.reference

; Call targets are function/module names, not variable references.
(function_call
  name: (identifier) @_)
(module_call
  name: (identifier) @_)