unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#71776: 31.0.50; [PATCH] js-ts-mode: conforming use of font lock faces in jsdoc.
@ 2024-06-25 14:16 Vincenzo Pupillo
  2024-06-27  9:47 ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Vincenzo Pupillo @ 2024-06-25 14:16 UTC (permalink / raw)
  To: 71776

[-- Attachment #1: Type: text/plain, Size: 188 bytes --]

Hi,
The use of font lock faces by jsdoc in js-ts-mode is different from that done in 
other major-modes such as java-mode or c++-mode. This patch makes them more similar.

Thanks.
Vincenzo

[-- Attachment #2: 0001-Conforming-use-of-font-lock-faces-in-jsdoc.patch --]
[-- Type: text/x-patch, Size: 2212 bytes --]

From a81051ab74bd8bb29843206beaf481cf8270b4aa Mon Sep 17 00:00:00 2001
From: Vincenzo Pupillo <v.pupillo@gmail.com>
Date: Tue, 25 Jun 2024 15:54:17 +0200
Subject: [PATCH] Conforming use of font lock faces in jsdoc

* lisp/progmodes/js.el (js--treesit-font-lock-settings):
Use 'font-lock-doc-face' for 'document' node type,
font-lock-constant-face for 'tag_name' and 'font-lock-type' face
for 'type'.

* lisp/progmodes/js.el (js-ts-mode): Add 'document' to
'treesit-font-lock-feature-list'.
---
 lisp/progmodes/js.el | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el
index 529b31669ed..e9962c36a46 100644
--- a/lisp/progmodes/js.el
+++ b/lisp/progmodes/js.el
@@ -3636,10 +3636,16 @@ js--treesit-font-lock-settings
    :override t
    '((escape_sequence) @font-lock-escape-face)
 
+   ;; "document" should be first, to avoid overlap.
+   :language 'jsdoc
+   :override t
+   :feature 'document
+   '((document) @font-lock-doc-face)
+
    :language 'jsdoc
    :override t
    :feature 'keyword
-   '((tag_name) @font-lock-keyword-face)
+   '((tag_name) @font-lock-constant-face)
 
    :language 'jsdoc
    :override t
@@ -3649,17 +3655,12 @@ js--treesit-font-lock-settings
    :language 'jsdoc
    :override t
    :feature 'property
-   '((type) @font-lock-variable-use-face)
+   '((type) @font-lock-type-face)
 
    :language 'jsdoc
    :override t
    :feature 'definition
-   '((identifier) @font-lock-variable-name-face)
-
-   :language 'jsdoc
-   :override t
-   :feature 'comment
-   '((description) @font-lock-comment-face))
+   '((identifier) @font-lock-variable-name-face))
   "Tree-sitter font-lock settings.")
 
 (defun js--fontify-template-string (node override start end &rest _)
@@ -3933,7 +3934,7 @@ js-ts-mode
     ;; Fontification.
     (setq-local treesit-font-lock-settings js--treesit-font-lock-settings)
     (setq-local treesit-font-lock-feature-list
-                '(( comment definition)
+                '(( comment document definition)
                   ( keyword string)
                   ( assignment constant escape-sequence jsx number
                     pattern string-interpolation)
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-07-06 10:57 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-25 14:16 bug#71776: 31.0.50; [PATCH] js-ts-mode: conforming use of font lock faces in jsdoc Vincenzo Pupillo
2024-06-27  9:47 ` Eli Zaretskii
2024-06-27 10:33   ` Vincenzo Pupillo
2024-06-27 19:20     ` Vincenzo Pupillo
2024-06-28  0:50   ` Dmitry Gutov
2024-07-06  7:54     ` Eli Zaretskii
2024-07-06  8:51       ` Damien Cassou
2024-07-06 10:57         ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).