1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 06:20:55 -08:00

Fontify doxygen support to 'c-ts-mode', 'c++-ts-mode' and 'java-ts-mode'

Add doxygen support to 'c-ts-mode', 'c++-ts-mode' and
'java-ts-mode' using tree-sitter-doxygen from
github.com/tree-sitter-grammars.
* lisp/progmodes/c-ts-common.el
(c-ts-mode-doxygen-comment-font-lock-settings): Add font locking
rules for doxygen comment.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--feature-list): Add
'document' feature.
(c-ts-mode--doxygen-comment-regex): New regular expression for
doxygen comments.
(c-ts-mode, c++-ts-mode): Add support for doxygen parser.
* lisp/progmodes/java-ts-mode.el (java-ts-mode): Add support for
doxygen parser.  (Bug#71874)
This commit is contained in:
Vincenzo Pupillo 2024-07-01 12:34:01 +02:00 committed by Eli Zaretskii
parent b23ab37175
commit c77a9b934b
3 changed files with 179 additions and 100 deletions

View file

@ -348,6 +348,28 @@ and /* */ comments. SOFT works the same as in
(delete-region (line-beginning-position) (point))
(insert whitespaces)))))
;; Font locking using doxygen parser
(defvar c-ts-mode-doxygen-comment-font-lock-settings
(treesit-font-lock-rules
:language 'doxygen
:feature 'document
:override t
'((document) @font-lock-doc-face)
:language 'doxygen
:override t
:feature 'keyword
'((tag_name) @font-lock-constant-face
(storageclass) @font-lock-constant-face)
:language 'doxygen
:override t
:feature 'definition
'((tag (identifier) @font-lock-variable-name-face)
(function (identifier) @font-lock-function-name-face)
(function_link) @font-lock-function-name-face))
"Tree-sitter font lock rules for doxygen like comment styles.")
;;; Statement indent
(defvar c-ts-common-indent-offset nil