aboutsummaryrefslogtreecommitdiffstats
path: root/runtime/queries/inko/locals.scm
blob: 2d61c2c5dc002ac4259a8a60d9b1b1d248433f7a (plain) (blame)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
[
  (method)
  (block)
] @local.scope

((method
  name: _ @local.definition.method) @local.scope
  (#set! definition.function.scope "parent"))

(external_function
  name: _ @local.definition.function)

(argument
  name: _ @local.definition.parameter)

(identifier_pattern
  name: _ @local.definition.var)

(define_constant
  name: _ @local.definition.constant)

(define_field
  name: _ @local.definition.field)

(named_argument
  name: _ @local.definition.parameter)

((class
  modifier: (modifier
    "enum")
  name: _ @local.definition.enum) @local.scope
  (#set! definition.type.scope "parent"))

(class
  modifier: (modifier
    "enum")
  body: (class_body
    (define_case
      name: _ @local.definition.field)))

((class
  name: _ @local.definition.type) @local.scope
  (#set! definition.type.scope "parent"))

((trait
  name: _ @local.definition.type) @local.scope
  (#set! definition.type.scope "parent"))

(import
  (symbols
    [
      (identifier)
      (constant)
      (self)
    ] @local.definition.import))

(identifier) @local.reference

(field) @local.reference

(constant) @local.reference