GNU bug report logs - #74963
Ambiguous treesit named and anonymous nodes in ruby-ts-mode

Previous Next

Package: emacs;

Reported by: Juri Linkov <juri <at> linkov.net>

Date: Thu, 19 Dec 2024 07:20:02 UTC

Severity: normal

Full log


Message #53 received at 74963 <at> debbugs.gnu.org (full text, mbox):

From: Yuan Fu <casouri <at> gmail.com>
To: Juri Linkov <juri <at> linkov.net>
Cc: Dmitry Gutov <dmitry <at> gutov.dev>, 74963 <at> debbugs.gnu.org
Subject: Re: bug#74963: Ambiguous treesit named and anonymous nodes in
 ruby-ts-mode
Date: Fri, 17 Jan 2025 23:59:52 -0800

> On Jan 13, 2025, at 11:52 PM, Juri Linkov <juri <at> linkov.net> wrote:
> 
>>>   (sentence
>>>    ,(rx (or (and bos (or "declaration"
>>>                          "enum_specifier"
>>>                          "union_specifier")
>>>                  eos)
>>>             (or "preproc"
>>>                 "statement"))))
>> 
>> Looks good. I’ve always used rx, it has the additional benefit of being macro expanded at compile time.
>> 
>> Also, I finally added support for ‘and’, ‘named’ and ‘anonymous’. I haven’t test it yet (sorry).
> 
> Thanks!  Does it make sense also to add predicates to define
> whether the node names should be matched completely?
> Then maybe add two separate predicates for strict and lax matching,
> e.g. for the same thing as above:
> 
>  (sentence
>   (or (strict ,(rx (or "declaration"
>                        "enum_specifier"
>                        "union_specifier")))
>       (lax ,(rx (or "preproc"
>                     "statement")))))

Hmm, I don’t know. Seems messy to implement, and we already have perfectly good solution: rx with bos or eos.
Yuan



This bug report was last modified 194 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.