mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-18 11:20:07 -04:00
Locals matching "when" operator, add pipe queries
This commit is contained in:
parent
25b28f6185
commit
725ef8fc18
2 changed files with 95 additions and 62 deletions
|
|
@ -86,16 +86,16 @@
|
||||||
(stab_clause
|
(stab_clause
|
||||||
operator: _ @operator)
|
operator: _ @operator)
|
||||||
|
|
||||||
; Calling a local function
|
; Local Function Calls
|
||||||
(call target: (identifier) @function)
|
(call target: (identifier) @function)
|
||||||
|
|
||||||
; Calling a remote function
|
; Remove Function Calls
|
||||||
(call target: (dot left: [
|
(call target: (dot left: [
|
||||||
(atom) @type
|
(atom) @type
|
||||||
(_)
|
(_)
|
||||||
] right: (identifier) @function) (arguments))
|
] right: (identifier) @function) (arguments))
|
||||||
|
|
||||||
; Calling a local def function
|
; Definition Function Calls
|
||||||
(call target: ((identifier) @keyword.function (#any-of? @keyword.function
|
(call target: ((identifier) @keyword.function (#any-of? @keyword.function
|
||||||
"def"
|
"def"
|
||||||
"defdelegate"
|
"defdelegate"
|
||||||
|
|
@ -142,7 +142,7 @@
|
||||||
"with"
|
"with"
|
||||||
)))
|
)))
|
||||||
|
|
||||||
; Special constants
|
; Special Constants
|
||||||
((identifier) @constant.builtin (#any-of? @constant.builtin
|
((identifier) @constant.builtin (#any-of? @constant.builtin
|
||||||
"__CALLER__"
|
"__CALLER__"
|
||||||
"__DIR__"
|
"__DIR__"
|
||||||
|
|
@ -182,6 +182,11 @@
|
||||||
)
|
)
|
||||||
])
|
])
|
||||||
|
|
||||||
|
; Pipe Operator
|
||||||
|
(binary_operator
|
||||||
|
operator: "|>"
|
||||||
|
right: (identifier) @function)
|
||||||
|
|
||||||
; Module attributes
|
; Module attributes
|
||||||
(unary_operator
|
(unary_operator
|
||||||
operator: "@" @constant
|
operator: "@" @constant
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,3 @@
|
||||||
; Scopes
|
|
||||||
(call (do_block)) @scope
|
|
||||||
(stab_clause) @scope
|
|
||||||
|
|
||||||
; References
|
; References
|
||||||
(identifier) @reference
|
(identifier) @reference
|
||||||
(alias) @reference
|
(alias) @reference
|
||||||
|
|
@ -11,39 +7,6 @@
|
||||||
target: ((identifier) @_identifier (#eq? @_identifier "defmodule"))
|
target: ((identifier) @_identifier (#eq? @_identifier "defmodule"))
|
||||||
(arguments (alias) @definition.type))
|
(arguments (alias) @definition.type))
|
||||||
|
|
||||||
; Local Function Definitions
|
|
||||||
; TODO: add support for test blocks
|
|
||||||
; test "foo", %{conn: conn} do
|
|
||||||
(call
|
|
||||||
target: ((identifier) @_identifier (#any-of? @_identifier "def" "defp" "defmacro" "defmacrop" "defguard" "defguardp" "defn" "defnp" "for"))
|
|
||||||
(arguments [
|
|
||||||
(identifier) @definition.function
|
|
||||||
(binary_operator left: (identifier) @definition.function)
|
|
||||||
(call target: (identifier) @definition.function (arguments [
|
|
||||||
(identifier) @definition.parameter
|
|
||||||
(_ (identifier) @definition.parameter)
|
|
||||||
(_ (_ (identifier) @definition.parameter))
|
|
||||||
(_ (_ (_ (identifier) @definition.parameter)))
|
|
||||||
(_ (_ (_ (_ (identifier) @definition.parameter))))
|
|
||||||
(_ (_ (_ (_ (_ (identifier) @definition.parameter)))))
|
|
||||||
(_ (_ (_ (_ (_ (_ (identifier) @definition.parameter))))))
|
|
||||||
(_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter)))))))
|
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter))))))))
|
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter)))))))))
|
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter))))))))))
|
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter)))))))))))
|
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter))))))))))))
|
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter)))))))))))))
|
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter))))))))))))))
|
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter)))))))))))))))
|
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter))))))))))))))))
|
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter)))))))))))))))))
|
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter))))))))))))))))))
|
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter)))))))))))))))))))
|
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter))))))))))))))))))))
|
|
||||||
]))
|
|
||||||
]?) (#set! definition.function.scope parent))
|
|
||||||
|
|
||||||
; Pattern Match Definitions
|
; Pattern Match Definitions
|
||||||
(binary_operator left: [
|
(binary_operator left: [
|
||||||
(identifier) @definition.var
|
(identifier) @definition.var
|
||||||
|
|
@ -70,27 +33,55 @@
|
||||||
] operator: "=")
|
] operator: "=")
|
||||||
|
|
||||||
; Stab Clause Definitions
|
; Stab Clause Definitions
|
||||||
(stab_clause left: [
|
(stab_clause
|
||||||
(_ (identifier) @definition.var)
|
left: [
|
||||||
(_ (_ (identifier) @definition.var))
|
(arguments [
|
||||||
(_ (_ (_ (identifier) @definition.var)))
|
(identifier) @definition.var
|
||||||
(_ (_ (_ (_ (identifier) @definition.var))))
|
(_ (identifier) @definition.var)
|
||||||
(_ (_ (_ (_ (_ (identifier) @definition.var)))))
|
(_ (_ (identifier) @definition.var))
|
||||||
(_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))
|
(_ (_ (_ (identifier) @definition.var)))
|
||||||
(_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))
|
(_ (_ (_ (_ (identifier) @definition.var))))
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))
|
(_ (_ (_ (_ (_ (identifier) @definition.var)))))
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))))
|
(_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))))
|
(_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))))))
|
(_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))))))
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))))
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))))))))
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))))
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))))))))
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))))))
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))))))))))
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))))))
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))))))))))
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))))))))
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))))))))))))
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))))))))
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))))))))))))
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))))))))))
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))))))))))))))
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))))))))))
|
||||||
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))))))))))))))
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))))))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))))))))))))))
|
||||||
|
])
|
||||||
|
(binary_operator
|
||||||
|
left: (arguments [
|
||||||
|
(identifier) @definition.var
|
||||||
|
(_ (identifier) @definition.var)
|
||||||
|
(_ (_ (identifier) @definition.var))
|
||||||
|
(_ (_ (_ (identifier) @definition.var)))
|
||||||
|
(_ (_ (_ (_ (identifier) @definition.var))))
|
||||||
|
(_ (_ (_ (_ (_ (identifier) @definition.var)))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))))))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))))))))))))))))
|
||||||
|
]) operator: "when")
|
||||||
])
|
])
|
||||||
|
|
||||||
; Aliases
|
; Aliases
|
||||||
|
|
@ -104,3 +95,40 @@
|
||||||
(_ (_ (_ (_ (alias) @definition.import))))
|
(_ (_ (_ (_ (alias) @definition.import))))
|
||||||
]
|
]
|
||||||
))
|
))
|
||||||
|
|
||||||
|
; Local Function Definitions & Scopes
|
||||||
|
(call
|
||||||
|
target: ((identifier) @_identifier (#any-of? @_identifier "def" "defp" "defmacro" "defmacrop" "defguard" "defguardp" "defn" "defnp" "for"))
|
||||||
|
(arguments [
|
||||||
|
(identifier) @definition.function
|
||||||
|
(binary_operator left: (identifier) @definition.function operator: "when")
|
||||||
|
(binary_operator (identifier) @definition.parameter)
|
||||||
|
(call target: (identifier) @definition.function (arguments [
|
||||||
|
(identifier) @definition.parameter
|
||||||
|
(_ (identifier) @definition.parameter)
|
||||||
|
(_ (_ (identifier) @definition.parameter))
|
||||||
|
(_ (_ (_ (identifier) @definition.parameter)))
|
||||||
|
(_ (_ (_ (_ (identifier) @definition.parameter))))
|
||||||
|
(_ (_ (_ (_ (_ (identifier) @definition.parameter)))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (identifier) @definition.parameter))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter)))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter)))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter)))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter))))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter)))))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter))))))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter)))))))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter))))))))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter)))))))))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter))))))))))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter)))))))))))))))))))
|
||||||
|
(_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter))))))))))))))))))))
|
||||||
|
]))
|
||||||
|
]?) (#set! definition.function.scope parent)
|
||||||
|
(do_block)?
|
||||||
|
) @scope
|
||||||
|
|
||||||
|
; Stab Clause Scopes
|
||||||
|
(stab_clause) @scope
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue