Initial Elixir support

This commit is contained in:
Daniel Kempkens 2021-05-14 21:23:58 +02:00 committed by Stephan Seitz
parent 506e998da2
commit e7e1db38cd
6 changed files with 323 additions and 0 deletions

95
queries/elixir/locals.scm Normal file
View file

@ -0,0 +1,95 @@
[
(after_block)
(catch_block)
(do_block)
(stab_expression)
(rescue_block)
] @scope
(identifier) @reference
(call
function: (function_identifier) @_call-name
(module) @definition.type
(#eq? @_call-name "defmodule"))
(call
function: (function_identifier) @_call-name
(call
function: (function_identifier) @definition.function)
(#lua-match? @_call-name "^defp?$"))
(call
function: (function_identifier) @_call-name
(call
function: (function_identifier) @definition.function
(arguments
[(identifier) @definition.parameter
(tuple
(identifier) @definition.parameter)
(list
(identifier) @definition.parameter)
(map
(keyword_list
(identifier) @definition.parameter))
(struct
(keyword_list
(identifier) @definition.parameter))
(binary_op
left: (identifier) @definition.parameter
operator: "\\\\")]
(#lua-match? @definition.parameter "^[^_]")))
(#lua-match? @_call-name "^defp?$"))
(call
function: (function_identifier) @_call-name
(binary_op
left: (call
function: (function_identifier) @definition.function
(arguments
[(identifier) @definition.parameter
(tuple
(identifier) @definition.parameter)
(list
(identifier) @definition.parameter)
(map
(keyword_list
(identifier) @definition.parameter))
(struct
(keyword_list
(identifier) @definition.parameter))]
(#lua-match? @definition.parameter "^[^_]")))
operator: "when")
(#lua-match? @_call-name "^defp?$"))
(binary_op
left:
[(identifier) @definition.var
(tuple
(identifier) @definition.var)
(list
(identifier) @definition.var)
(map
(keyword_list
(identifier) @definition.var))
(struct
(keyword_list
(identifier) @definition.var))]
operator: "="
(#lua-match? @definition.var "^[^_]"))
(stab_expression
left:
(bare_arguments
[(identifier) @definition.var
(tuple
(identifier) @definition.var)
(list
(identifier) @definition.var)
(map
(keyword_list
(identifier) @definition.var))
(struct
(keyword_list
(identifier) @definition.var))])
(#lua-match? @definition.var "^[^_]"))