rust-ts-mode: appropriately fontify doc strings

* lisp/progmodes/rust-ts-mode.el
(rust-ts-mode--comment-docstring): New function.
(rust-ts-mode--font-lock-settings): Use it
(https://lists.gnu.org/archive/html/emacs-devel/2023-12/msg00019.html).
This commit is contained in:
Christophe Troestler 2023-11-30 00:13:10 +01:00 committed by Dmitry Gutov
parent bd62bdbc68
commit fbaf113bf3

View file

@ -147,7 +147,7 @@
:language 'rust
:feature 'comment
'(([(block_comment) (line_comment)]) @font-lock-comment-face)
'(([(block_comment) (line_comment)]) @rust-ts-mode--comment-docstring)
:language 'rust
:feature 'delimiter
@ -287,6 +287,17 @@
'((ERROR) @font-lock-warning-face))
"Tree-sitter font-lock settings for `rust-ts-mode'.")
(defun rust-ts-mode--comment-docstring (node override start end &rest _args)
"Use the comment or documentation face appropriately for comments."
(let* ((beg (treesit-node-start node))
(end (treesit-node-end node))
(face (save-excursion
(goto-char beg)
(if (looking-at "///")
'font-lock-doc-face
'font-lock-comment-face))))
(treesit-fontify-with-override beg end face override start end)))
(defun rust-ts-mode--fontify-scope (node override start end &optional tail-p)
(let* ((case-fold-search nil)
(face