Subject: bug#61205: 'function' in 3rd element of treesit-font-lock-feature-list

From: Dmitry Gutov <[email-masked]>
Date: Fri, 3 Feb 2023 17:15:05 +0200

On 03/02/2023 14:19, Eli Zaretskii wrote:
>> Date: Fri, 3 Feb 2023 13:42:51 +0200
>> Cc: [email-masked], [email-masked], [email-masked], [email-masked]
>> From: Dmitry Gutov <[email-masked]>
>>
>> On 03/02/2023 08:46, Eli Zaretskii wrote:
>>>> Cc:[email-masked], Theodor Thornhill<[email-masked]>,
>>>>    randy taylor<[email-masked]>
>>>> Date: Thu, 2 Feb 2023 22:25:47 +0200
>>>> From: Dmitry Gutov<[email-masked]>
>>>>
>>>> On a related note: 'property' is in level 3 in c-ts-mode.
>>>>
>>>> Should it to go level 4?
>>>>
>>>> Also in typescript-ts-mode.
>>> What is 'property' in those modes?  In c-ts-mode, is 'property' the
>>> name of a struct or enum member, as in foo.bar?  Or is it something
>>> else?
>>
>> It's the 'bar' in 'foo.bar', yes. Specifically in the cases where it's
>> being looked up, rather than defined (in a type definition). Examples:
>>
>> 	  it2.lnum_pixel_width = it.lnum_pixel_width;
>>
>> 	  || (it.bidi_p && it.bidi_it.scan_dir == -1
>>
>> 'lnum_pixel_width', 'bidi_p', 'bidi_it' and 'scan_dir' are highlighted
>> with font-lock-property-face. You can see it for yourself by trying
>> c-ts-mode in any of our files.
> 
> Then as far as I'm concerned, this can go to level 4, but it must be
> done consistently across all the *-ts modes.  So if some mode wants
> 'property' to be highlighted, and wants it badly, we should IMO keep
> it in C as well.

Consistency is what I'm after here.

c-ts-mode, as well as go-ts-mode, rust-ts-mode and typescript-ts-mode, 
all previously mentioned in this report, currently put it at 3.

The rest put it as 4, or don't use it at all.

Maybe we'll move them to level 3 for the next release; I think to do 
that, we will have to define separate faces first (for function calls 
and maybe variable references, as soon as we manage to find them in a 
smart way), so that the users will be able to make sure definitions are 
distinct from usages.

> In any case, please make this consistent across all the relevant
> modes, and don't forget adjusting the documentation of
> treesit-font-lock-level accordingly as needed.

Okay.