Wilhelm H Kirschbaum <wkirschbaum@gmail.com> writes:
When `treesit-defun-type-regexp` is set with a cons cell
(regexp .
some-pred)
the following case does not get handled as expected when
calling
(end-of-defun):
```elixir
defmodule Example do
def foo() do ; regexp match, pred match
end
;; <point here>
@impl true ; regexp match, pred does not match
def bar() do ; regexp match, pred match
end
;; <should jump to here>
def baz() do
end
end
;; <jumps to point here>
```
Thank you very much! The root cause is actually another problem,
but
anyway it is fixed now.
May I also suggest you to use this function for the predicate:
(defun elixir-ts-mode--capture-defun (node)
;; NODE should be a ‘call’ node.
(member (treesit-node-text
(treesit-node-child-by-field-name node "target"))
elixir-ts-mode--definition-keywords))
This should be more accurate than the current one, and is IMO
simpler
too.
Yuan