]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix typescript-ts-mode indentation for switch statements
authornverno <noah.v.peart@gmail.com>
Mon, 27 Nov 2023 16:55:23 +0000 (08:55 -0800)
committerEli Zaretskii <eliz@gnu.org>
Wed, 29 Nov 2023 14:32:24 +0000 (16:32 +0200)
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode): Add
indentation rule for switch case and default keywords.  (Bug#67488)

lisp/progmodes/typescript-ts-mode.el
test/lisp/progmodes/typescript-ts-mode-resources/indent.erts

index a2b16d1beea9208131bda2855dabb3c9d4b74b29..0fbac709c6316c2796b824f2d2723f9fc8238e3d 100644 (file)
@@ -107,6 +107,9 @@ Argument LANGUAGE is either `typescript' or `tsx'."
      ((parent-is "member_expression") parent-bol typescript-ts-mode-indent-offset)
      ((parent-is "named_imports") parent-bol typescript-ts-mode-indent-offset)
      ((parent-is "statement_block") parent-bol typescript-ts-mode-indent-offset)
+     ((or (node-is "case")
+          (node-is "default"))
+      parent-bol typescript-ts-mode-indent-offset)
      ((parent-is "switch_case") parent-bol typescript-ts-mode-indent-offset)
      ((parent-is "switch_default") parent-bol typescript-ts-mode-indent-offset)
      ((parent-is "type_arguments") parent-bol typescript-ts-mode-indent-offset)
index 20f423259b42972c49b9f1b3f4af815c77093f1e..7b6185e0386ca88c23f981d1db8d16fe73d7297b 100644 (file)
@@ -45,6 +45,23 @@ const foo = () => {
 };
 =-=-=
 
+Name: Switch statement
+
+=-=
+const foo = (x: string) => {
+  switch (x) {
+    case "a":
+      console.log(x);
+      return 1;
+    case "b":
+      return 2;
+    case "c":
+    default:
+      return 0;
+  }
+};
+=-=-=
+
 Code:
   (lambda ()
     (setq indent-tabs-mode nil)