GNU bug report logs - #61205
'function' in 3rd element of treesit-font-lock-feature-list

Previous Next

Package: emacs;

Reported by: Dmitry Gutov <dgutov <at> yandex.ru>

Date: Wed, 1 Feb 2023 02:09:02 UTC

Severity: normal

Done: Dmitry Gutov <dgutov <at> yandex.ru>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Yuan Fu <casouri <at> gmail.com>
Cc: 61205 <at> debbugs.gnu.org, randy taylor <dev <at> rjt.dev>
Subject: bug#61205: 'function' in 3rd element of treesit-font-lock-feature-list
Date: Thu, 2 Feb 2023 04:34:44 +0200
[Message part 1 (text/plain, inline)]
On 01/02/2023 07:18, Yuan Fu wrote:
> 
> 
>> On Jan 31, 2023, at 6:08 PM, Dmitry Gutov <dgutov <at> yandex.ru> wrote:
>>
>> X-Debbugs-Cc: Yuan Fu <casouri <at> gmail.com>, Randy Taylor <dev <at> rjt.dev>
>>
>> Some new built-in modes has 'function' feature highlighting thus enabled by default.
>>
>> rust-ts-mode, go-ts-mode, cmake-mode
>>
>> Should we move it to 4 for consistency with the rest?
>>
>> Previously, we talked about that and concluded that function calls are usually everywhere and are easy to notice without additional highlighting.
> 
> Right, I think they should be level 4.

OK, I tried simply changing that, and it turned out none of these modes 
have a 'definition' feature, so highlightings get stripped from all 
definitions as well.

And in a couple of cases function calls got highlighted either as a 
type, or as a property. I fixed the latter by deleting one selector, and 
the latter didn't touch per se.

But since the same modes had 'variable' and 'property' features in the 
3rd level as well, I moved them to the 4th (that resolved the incorrect 
highlighting as property mentioned above, but it's probably need to be 
improved later, in case someone will want to enable 'property' but not 
'function' highlighting).

And I added the 'definition' features and moved some highlighting rules 
there. And added some.

So the patch looks a bit more complex than expected, see attached.

cmake-ts-mode, in the end, I ended up keeping as-is. The 'variable' 
selector is more functional there than everywhere else (the grammar uses 
those nodes for template expansion), and if 'function' is removed, the 
buffer looks almost devoid of highlighting.

Also none of these modes have highlighting for function parameters or 
assignments. That can be improved later.
[ts-modes-refine-features.diff (text/x-patch, attachment)]

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

Previous Next


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