[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Status update of tree-sitter features
From: |
Eli Zaretskii |
Subject: |
Re: Status update of tree-sitter features |
Date: |
Fri, 30 Dec 2022 17:37:06 +0200 |
> Date: Fri, 30 Dec 2022 15:27:16 +0100
> Cc: Dmitry Gutov <dgutov@yandex.ru>, emacs-devel <emacs-devel@gnu.org>
> From: Jostein Kjønigsen <jostein@secure.kjonigsen.net>
>
> I know that some people prefer "sparse" syntax-highlighting, while
> others prefer more "complete" highlighting. Personally, I value being
> able to see function invocations, and love how tree-sitter makes that
> easy to highlight.
>
> As long as we have ways to accommodate both needs ("fruit salad" vs more
> sparse fontification) I'm going to be happy, and we kind of already have
> that through font-lock levels in the modes already.
>
> That said, some of the tree-sitter based major modes (half? most?)
> currently highlight function-invocations on level 3. If we are to make
> everyone happy, we need to make changes to that, and move that to 4.
>
> Which leads me to my main point here.
>
> Emacs 29 release is near. We should seriously limit the amount of
> changes we apply in order to fix the things we need.
>
> Deciding at this point to rework all the features, which features we
> should have, how they can be enabled/disabled, and what
> enabling/disabling those should entail in practice... That's essentially
> suggestion we rewrite all those tree-sitter-based major-modes.
>
> I think a much more realistic strategy at this point is:
>
> - to aim for what concrete things should be fontified at level 3 and 4
> (default vs max). We already know 1 thing we want to change here.
>
> - ensure the major-modes adhere to this with a minimum of changes in the
> existing code.
>
> - and most importantly: leave the discussion about adding the ability
> for users to enable/disable specific features, and how that should work
> in practice (overlap, presedence, etc) for Emacs 30.
I agree. Please post concrete proposals for making modes consistent
regarding the default fontification level.