Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/queries/erlang/locals.scm')
| -rw-r--r-- | runtime/queries/erlang/locals.scm | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/runtime/queries/erlang/locals.scm b/runtime/queries/erlang/locals.scm index e2212cac..7379926b 100644 --- a/runtime/queries/erlang/locals.scm +++ b/runtime/queries/erlang/locals.scm @@ -1,25 +1,30 @@ ; Specs and Callbacks (attribute (stab_clause - pattern: (arguments (variable)? @local.definition.variable.parameter) + pattern: (arguments (variable) @local.definition) ; If a spec uses a variable as the return type (and later a `when` clause to type it): - body: (variable)? @local.definition.variable.parameter)) @local.scope + body: (variable)? @local.definition)) @local.scope ; parametric `-type`s ((attribute name: (atom) @_type (arguments (binary_operator - left: (call (arguments (variable) @local.definition.variable.parameter)) + left: (call (arguments (variable) @local.definition)) operator: "::") @local.scope)) (#match? @_type "(type|opaque)")) +; macros +((attribute + name: (atom) @_define + (arguments + (call (arguments (variable) @local.definition)))) @local.scope + (#eq? @_define "define")) + ; `fun`s -(anonymous_function (stab_clause pattern: (arguments (variable) @local.definition.variable.parameter))) @local.scope +(anonymous_function (stab_clause pattern: (arguments (variable) @local.definition))) @local.scope ; Ordinary functions -((function_clause - pattern: (arguments (variable) @local.definition.variable.parameter)) @local.scope - (#not-match? @local.definition.variable.parameter "^_")) +(function_clause pattern: (arguments (variable) @local.definition)) @local.scope (variable) @local.reference |