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


View this message in rfc822 format

From: Yuan Fu <casouri <at> gmail.com>
To: Theodor Thornhill <theo <at> thornhill.no>
Cc: eliz <at> gnu.org, 60983 <at> debbugs.gnu.org
Subject: bug#60983: 29.0.60; Tree-sitter user-level control
Date: Mon, 23 Jan 2023 15:55:30 -0800

> On Jan 23, 2023, at 1:08 PM, Theodor Thornhill <theo <at> thornhill.no> wrote:
> 
> 
> 
> On 23 January 2023 20:59:14 CET, Eli Zaretskii <eliz <at> gnu.org> wrote:
>>> From: Yuan Fu <casouri <at> gmail.com>
>>> Date: Mon, 23 Jan 2023 11:37:24 -0800
>>> Cc: Eli Zaretskii <eliz <at> gnu.org>,
>>> Bug Report Emacs <bug-gnu-emacs <at> gnu.org>
>>> 
>>> Sorry for the delay, overall I agree with your changes.
>> 
>> Thanks.  What about the questions I asked regarding indentation
>> features, and specifically about c-ts-mode-indent-style?
> 
> I am working on that, but I hit some issues where I cannot make treesit recognize the new settings before the whole treesit-major-mode-setup reruns. Just setting the symbol doesn't work, and reenabling the mode inside of the :set function isn't the best idea maybe?
> 
> I'd love some pointers to how other modes do similar stuff, but I didn't really find anything.

One common approach is to iterate over all live buffer and reset the variable (in this case treesit-simple-indent-rules) on applicate buffers (in this case c/c++-ts-mode buffers).

It would be nice to also have a command c-ts-mode-set-style (like c-set-style) that takes a style symbol and sets treesit-simple-indent-rules accordingly. And in major-mode setup, ie, c-ts-mode’s body, you call it with c-ts-mode-indent-style.

Yuan






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

Previous Next


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