diff options
Diffstat (limited to 'runtime/queries/ponylang/locals.scm')
-rw-r--r-- | runtime/queries/ponylang/locals.scm | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/runtime/queries/ponylang/locals.scm b/runtime/queries/ponylang/locals.scm new file mode 100644 index 00000000..e9efd69e --- /dev/null +++ b/runtime/queries/ponylang/locals.scm @@ -0,0 +1,37 @@ +[ + (entity) + (method) + (behavior) + (constructor) + ("if") + (elseif) + (ifdef) + (elseifdef) + (iftype) + (elseiftype) + (match) + (match_case) + ("while") + ("repeat") + ("for") + (lambda) + (try_block) + (with) +] @local.scope +(match else_block: (block) @local.scope) +(try_block else_block: (block) @local.scope) +(try_block then_block: (block) @local.scope) +(with else_block: (block) @local.scope) + +(field name: (identifier) @local.definition) +(local name: (identifier) @local.definition) +(param name: (identifier) @local.definition) +(lambdaparam name: (identifier) @local.definition) +("for" element: (idseq (identifier) @local.definition)) +(withelem name: (idseq (identifier) @local.definition)) + +; only lower case identifiers are references +( + (identifier) @local.reference + (#match? @local.reference "^[a-z_][a-zA-Z_]*") +) |