]> git.eshelyaron.com Git - emacs.git/commitdiff
Properly expand the JSX indentation rules in 'js-ts-mode'
authordannyfreeman <danny@dfreeman.email>
Mon, 7 Aug 2023 19:55:27 +0000 (15:55 -0400)
committerEli Zaretskii <eliz@gnu.org>
Thu, 10 Aug 2023 08:59:13 +0000 (11:59 +0300)
* lisp/progmodes/js.el (js--treesit-indent-rules): Fix
'js-ts-mode' indent bug in JSX expressions. Before this
change, treesit indent mechanisms were trying to call this
compatibility function like a matching or anchor rule.
This resulted in an error when running `indent-for-tab-command`
while the cursor was in a JSX expression:

treesit--simple-indent-eval: Wrong number of
arguments: ((cl-struct-js--pitem-tags ido-cur-list t) nil "Indent rules
helper, to handle different releases of tree-sitter-javascript."

(Bug#65134)

lisp/progmodes/js.el

index bbe3159f59667252f472d5efb1f8e8bebd9f5ee4..c583b6f61911cf200c3fd38ff36230ce5292b655 100644 (file)
@@ -3474,7 +3474,7 @@ Check if a node type is available, then return the right indent rules."
        ((parent-is "statement_block") parent-bol js-indent-level)
 
        ;; JSX
-       (js-jsx--treesit-indent-compatibility-bb1f97b)
+       ,@(js-jsx--treesit-indent-compatibility-bb1f97b)
        ((node-is "jsx_closing_element") parent 0)
        ((match "jsx_element" "statement") parent js-indent-level)
        ((parent-is "jsx_element") parent js-indent-level)