Subject: bug#75012: 31.0.50; Use a different face for storage_class in c-ts-mode doxygen comments

From: Vincenzo Pupillo <[email-masked]>
Date: Sat, 21 Dec 2024 22:18:08 +0100

Ciao Filippo, 
it's fine for me, even the "overkill" version.
@Eli WDYT ?

Vincenzo

In data sabato 21 dicembre 2024 19:21:29 Ora standard dell’Europa centrale, 
Filippo Argiolas ha scritto:
> Hi, I was experimenting with the new local parser for doxygen comments
> in c-ts-mode.
> 
> I think current syntax highlighting rules really basic and could use
> some love.  One thing that would really help IMHO would be using a
> different face for storage class so that e.g.
> 
> @param[in] some param
> 
> have param and [in] with two different colors. Param type is detected as
> "storage_class" and that's usually fontified with font-lock-keyword-face
> (e.g. like const and static in C) so I believe that would be the most
> obvious choice.
> 
> I also have been experimenting with some additional rules in
> 
> c-ts-mode-doxygen-comment-font-lock-settings but they may be overkill:
>    :language 'doxygen
>    :override t
>    :feature 'keyword
> 
>    '((tag_name) @font-lock-constant-face
>      (type) @font-lock-type-face
>      (emphasis) @bold
>      ((tag_name) @bold (:match ".note" @bold))
>      ((tag_name) @warning (:match ".warning" @warning))
>      ((tag_name) @error (:match ".error" @error))
>      (storageclass) @font-lock-keyword-face)
> 
> gets me something like the 'after' screenshot here[1], the 'before' now
> is current faces with ef-dream theme.
> 
> What do you think?
> 
> Thanks,
> Filippo
> 
> 
> 1. https://people.freedesktop.org/~fargiolas/c-ts-doxy/
> 
> 
> 
> 
> 
> In GNU Emacs 31.0.50 (build 1, aarch64-apple-darwin24.1.0, NS
>  appkit-2575.20 Version 15.1.1 (Build 24B91)) of 2024-12-21 built on mba
> Repository revision: 1c960bda91237c92f9f602bcb8538ad500c0bc49
> Repository branch: master
> Windowing system distributor 'Apple', version 10.3.2575
> System Description:  macOS 15.1.1
> 
> Configured using:
>  'configure --with-tree-sitter --with-native-compilation'