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

From: Eli Zaretskii <[email-masked]>
Date: Fri, 03 Feb 2023 14:19:40 +0200

> 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.

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.