From 62b193a8e4c0f542e4d87802535da4efdc8ce75d Mon Sep 17 00:00:00 2001 From: Dmitry Gutov Date: Fri, 8 Dec 2023 04:12:21 +0200 Subject: [PATCH] js-ts-mode: Highlight property shorthands in assignments * lisp/progmodes/js.el (js--treesit-lhs-identifier-query): Match property shorthands (which turn into variable reference). (js--treesit-fontify-assignment-lhs): Use the matches. --- lisp/progmodes/js.el | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el index 7b0fcb50853..5570cca42c6 100644 --- a/lisp/progmodes/js.el +++ b/lisp/progmodes/js.el @@ -3655,7 +3655,8 @@ OVERRIDE is the override flag described in (defvar js--treesit-lhs-identifier-query (when (treesit-available-p) (treesit-query-compile 'javascript '((identifier) @id - (property_identifier) @id))) + (property_identifier) @id + (shorthand_property_identifier_pattern) @id))) "Query that captures identifier and query_identifier.") (defun js--treesit-fontify-assignment-lhs (node override start end &rest _) @@ -3667,7 +3668,8 @@ For OVERRIDE, START, END, see `treesit-font-lock-rules'." (treesit-node-start node) (treesit-node-end node) (pcase (treesit-node-type node) ("identifier" 'font-lock-variable-use-face) - ("property_identifier" 'font-lock-property-use-face)) + ("property_identifier" 'font-lock-property-use-face) + ("shorthand_property_identifier_pattern" 'font-lock-variable-use-face)) override start end))) (defun js--treesit-defun-name (node) -- 2.39.2