Indentation fixes for jsx/tsx (bug#60169)

* lisp/progmodes/js.el (js--treesit-indent-rules): Simplify the rules.
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--indent-rules): Simplify the rules.
This commit is contained in:
Theodor Thornhill 2022-12-17 23:11:57 +01:00 committed by Yuan Fu
parent 69f2c71135
commit 9fcf764dd7
No known key found for this signature in database
GPG key ID: 56E19BC57664A442
2 changed files with 10 additions and 11 deletions

View file

@ -3451,14 +3451,13 @@ This function is intended for use in `after-change-functions'."
((parent-is "statement_block") parent-bol js-indent-level)
;; JSX
((parent-is "jsx_opening_element") parent js-indent-level)
((match "<" "jsx_fragment") parent 0)
((parent-is "jsx_fragment") parent js-indent-level)
((node-is "jsx_fragment") parent typescript-ts-mode-indent-offset)
((node-is "jsx_element") parent typescript-ts-mode-indent-offset)
((node-is "jsx_expression") parent typescript-ts-mode-indent-offset)
((node-is "jsx_self_closing_element") parent typescript-ts-mode-indent-offset)
((node-is "jsx_closing_element") parent 0)
((node-is "jsx_text") parent js-indent-level)
((parent-is "jsx_element") parent js-indent-level)
((node-is "/") parent 0)
((parent-is "jsx_self_closing_element") parent js-indent-level)))))
((node-is ">") parent 0)))))
(defvar js--treesit-keywords
'("as" "async" "await" "break" "case" "catch" "class" "const" "continue"

View file

@ -95,13 +95,13 @@ Argument LANGUAGE is either `typescript' or `tsx'."
((parent-is "binary_expression") parent-bol typescript-ts-mode-indent-offset)
,@(when (eq language 'tsx)
`(((parent-is "jsx_opening_element") parent typescript-ts-mode-indent-offset)
((match "<" "jsx_fragment") parent 0)
((parent-is "jsx_fragment") parent typescript-ts-mode-indent-offset)
`(((node-is "jsx_fragment") parent typescript-ts-mode-indent-offset)
((node-is "jsx_element") parent typescript-ts-mode-indent-offset)
((node-is "jsx_expression") parent typescript-ts-mode-indent-offset)
((node-is "jsx_self_closing_element") parent typescript-ts-mode-indent-offset)
((node-is "jsx_closing_element") parent 0)
((parent-is "jsx_element") parent typescript-ts-mode-indent-offset)
((node-is "/") parent 0)
((parent-is "jsx_self_closing_element") parent typescript-ts-mode-indent-offset)))
((node-is ">") parent 0)))
(no-node parent-bol 0))))
(defvar typescript-ts-mode--keywords