Subject: bug#78503: 30.0.92; tree-sitter elixir-ts-mode structural movement broken

From: Wilhelm Kirschbaum <[email-masked]>
Date: Fri, 23 May 2025 14:50:06 +0200

On Thu, May 22, 2025 at 8:46 AM Juri Linkov <[email-masked]> wrote:

> >>> ```
> >>> def foo(arg) do
> >>>    IO.inspect("some")
> >>> end
> >>> ```
> >>>
> >>> Expected:
> >>> - into args
> >>> - nice to have: into do block (after do)
> >>> - into argument list
> >>> - into quoted string
> >>
> >> This is exactly how 'C-M-d' already works when you toggle
> >> 'M-x treesit-cycle-sexp-type RET'.
> >
> > It does jump to into args (inside the parens), but after that it does
> nothing but show a
> > message indicating it is at the bottom level. Which afaik it is not.
> >
> > To be clear:
> > - on a of arg
> > - nice to have: into do block (after do)
> > - on " of "some"
> > - nice to have: on s of "some"
>
> 'down-list' can't go out of a position inside "(arg)"
> because it is at the bottom level of parenthesis.
> This is what 'up-list' intended to do.  So you need
> to type 'M-)' or anything that is bound to 'up-list'.
>
> >> This is what 'C-M-d' already does after 'M-x treesit-cycle-sexp-type
> RET'.
> >
> > Confirmed
> >
> >> So let's enable 'treesit-cycle-sexp-type' by default, but only for
> >> 'down-list'.
> >
> > Would be great.
>
> Thanks, done.
>

Hi, sorry for the delay.

I had a look at the latest changes and it makes sense to me. Thanks again
Juri :).

Kind regards,
Wilhelm