--- Begin Message ---
Subject: |
c-ts-mode: (eq treesit-font-lock-level 2) doesn't fontify parameter names. |
Date: |
Sat, 4 Feb 2023 16:27:13 +0000 |
Hello, Emacs.
In master (or probably the release branch), setting
treesit-font-lock-level to 2 for c-ts-mode fontifies variable
definitions, but not the parameter definitions of a C function.
For example, in
int foo (int bar)
{
int baz;
baz = bar;
return baz;
}
, the definition of bar is not fontified, but that of baz is.
There doesn't appear to be a (documented) way to get something similar to
C Mode's fontification, where the declarations of variables and
parameters were fontified, but not their use.
This is a fontification detail I would very much like to have. In long
straggling C functions, variables are frequently declared in the middle
of the functions, and having the declarations stand out makes it easy to
search for them with the eye. It is less easy if parameters aren't also
fontified.
--
Alan Mackenzie (Nuremberg, Germany).
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#61275: c-ts-mode: (eq treesit-font-lock-level 2) doesn't fontify parameter names. |
Date: |
Sat, 4 Feb 2023 22:54:04 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 |
Version: 29.1
On 04/02/2023 19:20, Eli Zaretskii wrote:
Cc:61275@debbugs.gnu.org
Date: Sat, 04 Feb 2023 19:13:43 +0200
From: Eli Zaretskii<eliz@gnu.org>
Date: Sat, 4 Feb 2023 17:00:45 +0000
Cc:61275@debbugs.gnu.org
From: Alan Mackenzie<acm@muc.de>
By "the definition of bar", do you mean this:
int foo (int bar)
^^^
Yes, that's precisely what I meant.
I believe this is known as "parameter declaration".
More accurately, you want the parameter identifiers which are part of
parameter declarations to be fontified using the
font-lock-variable-name-face.
I hope Yuan or Theo could look into this soon.
I've installed the patch previously posted to emacs-devel. It should
take care of c-ts-mode and c++-ts-mode.
--- End Message ---