GNU bug report logs - #60983
29.0.60; Tree-sitter user-level control

Previous Next

Package: emacs;

Reported by: Eli Zaretskii <eliz <at> gnu.org>

Date: Sat, 21 Jan 2023 11:12:01 UTC

Severity: normal

Found in version 29.0.60

Full log


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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Yuan Fu <casouri <at> gmail.com>
Cc: bug-gnu-emacs <at> gnu.org, theo <at> thornhill.no
Subject: Re: 29.0.60; Tree-sitter user-level control
Date: Sun, 05 Feb 2023 11:23:31 +0200
> From: Yuan Fu <casouri <at> gmail.com>
> Date: Sat, 4 Feb 2023 23:54:56 -0800
> Cc: Bug Report Emacs <bug-gnu-emacs <at> gnu.org>,
>  theo <at> thornhill.no
> 
> > Yes, that's how I understood what you were saying: changing the list
> > of features enabled/disabled by specific levels.  This is not a
> > user-level thing, so describing it in the ELisp manual is good enough,
> > I think.  (If it turns out users want to do this kind of thing too
> > often, it probably means our design of the user-facing features is
> > sub-optimal and should be improved.)
> 
> I see, my description and the documentation is still not clear enough, I’m afraid. treesit-font-lock-recompute-feature does not add/remove features that belongs to a level. The design is that, the user uses decoration level to set the rough level, which enables a set of features, then use treesit-font-lock-recompute-feature to do more fine-grained control by additionally enabling/disabling features. 
> 
> For example in c-ts-mode, if I set the decoration level to 2, I’d have these features: comment, definition, keyword, preprocessor, string, type. If I also want the assignment features, which is in level 3, but don’t want other features in level 3, I would use treesit-font-lock-recompute-feature to enable that feature. Similarly, I can use treesit-font-lock-recompute-feature to disable the preprocessor which is at level 2, without affecting other features status.

That's exactly what I understood, and that was what I responded to.  I
don't think it's a user-level feature to tweak the list of features
that are enabled/disables by a certain decoration level.  It is on the
level of Lisp programming, and therefore should be described in the
ELisp manual.




This bug report was last modified 2 years and 192 days ago.

Previous Next


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