|
28 | 28 | (do_block "do" . (_) @class.inner . "end") |
29 | 29 | ) @class.outer |
30 | 30 |
|
31 | | -; Function, Parameter, and Call Objects |
| 31 | +; Parameters |
| 32 | +(call |
| 33 | + target: ((identifier) @_identifier (#any-of? @_identifier |
| 34 | + "def" |
| 35 | + "defmacro" |
| 36 | + "defmacrop" |
| 37 | + "defn" |
| 38 | + "defnp" |
| 39 | + "defp" |
| 40 | + )) |
| 41 | + (arguments (call [ |
| 42 | + (arguments (_) @parameter.inner . "," @_delimiter) |
| 43 | + (arguments ((_) @parameter.inner) @_delimiter .) |
| 44 | + ] (#make-range! "parameter.outer" @parameter.inner @_delimiter))) |
| 45 | +) @function.outer |
| 46 | + |
| 47 | +; Function and Call Objects |
32 | 48 | (anonymous_function |
33 | 49 | (stab_clause |
34 | 50 | right: (body) @function.inner) |
35 | 51 | ) @function.outer |
36 | 52 |
|
| 53 | +; single child |
37 | 54 | (call |
38 | 55 | target: ((identifier) @_identifier (#any-of? @_identifier |
39 | 56 | "def" |
|
43 | 60 | "defnp" |
44 | 61 | "defp" |
45 | 62 | )) |
46 | | - (arguments (call [ |
47 | | - (arguments (_) @parameter.inner . "," @_delimiter) |
48 | | - (arguments ((_) @parameter.inner) @_delimiter .) |
49 | | - ] (#make-range! "parameter.outer" @parameter.inner @_delimiter))) |
50 | | - [ |
51 | | - (do_block "do" . (_) @_do (_) @_end . "end") |
52 | | - (do_block "do" . ((_) @_do) @_end . "end") |
53 | | - ] |
| 63 | + (arguments (call)) |
| 64 | + (do_block "do" . (_) @function.inner . "end") |
| 65 | +) @function.outer |
| 66 | + |
| 67 | +; multi child |
| 68 | +(call |
| 69 | + target: ((identifier) @_identifier (#any-of? @_identifier |
| 70 | + "def" |
| 71 | + "defmacro" |
| 72 | + "defmacrop" |
| 73 | + "defn" |
| 74 | + "defnp" |
| 75 | + "defp" |
| 76 | + )) |
| 77 | + (arguments (call)) |
| 78 | + (do_block "do" . (_) @_do (_) @_end . "end") |
54 | 79 | (#make-range! "function.inner" @_do @_end) |
55 | 80 | ) @function.outer |
56 | 81 |
|
| 82 | +; def function(), do: .... |
57 | 83 | (call |
58 | 84 | target: ((identifier) @_identifier (#any-of? @_identifier |
59 | 85 | "def" |
|
63 | 89 | "defnp" |
64 | 90 | "defp" |
65 | 91 | )) |
66 | | - (arguments (call [ |
67 | | - (arguments (_) @parameter.inner . "," @_delimiter) |
68 | | - (arguments ((_) @parameter.inner) @_delimiter .) |
69 | | - ] (#make-range! "parameter.outer" @parameter.inner @_delimiter)) |
| 92 | + (arguments |
| 93 | + (call) |
70 | 94 | (keywords |
71 | 95 | (pair |
72 | 96 | value: (_) @function.inner)) |
|
0 commit comments