GNU bug report logs -
#61205
'function' in 3rd element of treesit-font-lock-feature-list
Previous Next
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
Message #76 received at 61205-done <at> debbugs.gnu.org (full text, mbox):
On 05/02/2023 08:05, Eli Zaretskii wrote:
>> Date: Sun, 5 Feb 2023 01:44:40 +0200
>> Cc: 61205 <at> debbugs.gnu.org, casouri <at> gmail.com, theo <at> thornhill.no, dev <at> rjt.dev
>> From: Dmitry Gutov <dgutov <at> yandex.ru>
>>
>> On 04/02/2023 08:53, Eli Zaretskii wrote:
>>>> Date: Sat, 4 Feb 2023 05:36:15 +0200
>>>> From: Dmitry Gutov<dgutov <at> yandex.ru>
>>>> Cc:61205 <at> debbugs.gnu.org,casouri <at> gmail.com,theo <at> thornhill.no,dev <at> rjt.dev
>>>>
>>>> Here's the updated patch in the meantime.
>>> Thanks, but please also update the doc string of
>>> treesit-font-lock-level.
>>
>> Done.
>
> Thanks, LGTM.
>
>>>> Not sure what to do with 'type' highlighting in rust-ts-mode yet.
>>> What is the problem with that?
>>
>> The nodes structure of a 'use' instruction has a lot of nesting, and at
>> least a couple of variations, which would lead to a combinatoric
>> increase in the number of queries.
>
> If this proves to be a problem in practice, maybe we'll need some
> customization specific to Rust.
>
>> Taking another look at the declarations, though, I wasn't sure I could
>> understand the specific logic for choosing between font-lock-type-face
>> and font-lock-constant-face.
>>
>> It seemed heavily inspired by
>> https://github.com/tree-sitter/tree-sitter-rust/blob/master/queries/highlights.scm,
>> though. So what I did is reverted to those rules (in that area): the
>> path segments that start with an uppercase char get highlighted with
>> font-lock-type-face. The rest don't get highlighted at all. That's how
>> Rust code looks at Github, so a fair number of developers must be okay
>> with it.
>
> And this solves the potential combinatoric explosion?
Yes, simply because function names don't start with a capital letter by
convention. So we don't highlight them as types.
>> See the attached patch. I suggest we install it in emacs-29, but then
>> people are free to tweak the rules further.
>
> Yes, please install.
Thank you, done, and closing.
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.