From: Jostein Kjønigsen Date: Thu, 8 Dec 2022 14:45:00 +0000 (+0100) Subject: Fix fontification of method-invocations in js-ts-mode (bug#59904) X-Git-Tag: emacs-29.0.90~1271 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=1014bcc8e32c8ab7b25e148d13e7e3a82f9635b9;p=emacs.git Fix fontification of method-invocations in js-ts-mode (bug#59904) * lisp/progmodes/js.el (js--treesit-font-lock-settings): Move rules for property in front of function names, so function names override property. --- diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el index 45dfef372cd..f7318c481a2 100644 --- a/lisp/progmodes/js.el +++ b/lisp/progmodes/js.el @@ -3543,6 +3543,20 @@ This function is intended for use in `after-change-functions'." (arrow_function parameter: (identifier) @font-lock-variable-name-face)) + :language 'javascript + :override t + :feature 'property + ;; This needs to be before function-name feature, because methods + ;; can be both property and function-name, and we want them in + ;; function-name face. + `((property_identifier) @font-lock-property-face + + (pair value: (identifier) @font-lock-variable-name-face) + + ((shorthand_property_identifier) @font-lock-property-face) + + ((shorthand_property_identifier_pattern) @font-lock-property-face)) + :language 'javascript :override t :feature 'expression @@ -3611,18 +3625,7 @@ This function is intended for use in `after-change-functions'." :language 'javascript :feature 'escape-sequence :override t - '((escape_sequence) @font-lock-escape-face) - - :language 'javascript - :override t - :feature 'property - `((property_identifier) @font-lock-property-face - - (pair value: (identifier) @font-lock-variable-name-face) - - ((shorthand_property_identifier) @font-lock-property-face) - - ((shorthand_property_identifier_pattern) @font-lock-property-face))) + '((escape_sequence) @font-lock-escape-face)) "Tree-sitter font-lock settings.") (defun js--fontify-template-string (node override start end &rest _)