emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Tree-sitter integration in python.el


From: Augusto Stoffel
Subject: Re: Tree-sitter integration in python.el
Date: Mon, 10 Oct 2022 09:16:31 +0200
User-agent: Gnus/5.13 (Gnus v5.13)

On Sat,  8 Oct 2022 at 14:06, Yuan Fu wrote:

>> To me, the biggest problem with font-lock-maximum-decoration is that few
>> major modes bothered to implement levels.
>
> That’s their choice. If no one complains it’s not a problem ;-)

Well, I'm complaining now and I think you can solve this :-).

>> It's exactly the opposite: since you are designing a new systems, you
>> can create a much nicer customization mechanism on the lines of
>> font-lock-ignore.  For instance, one could select fontification rules
>> based on the affected node type.
>> 
>> The “decoration levels” feature can then build up on this, with the
>> advantage that it would be consistent across languages and require no
>> extra effort from the major mode developer.
>
> It’s a nice idea, but in tree-sitter, different languages tag
> differently, it could be “function_definition” in python but
> “function_declaration” in C, etc. So it is not consistent across
> language. Also, it is often more complicated than a single tag like
> “function_identifier”, but rather a nested structure like
> (function_definition (identifier)).

One suggestion then is to allow attaching some “metadata” to the
fontification rules in `treesit-font-lock-rules'.  For instance,
declare that a rule has :kind function or :level 2.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]