diff options
-rw-r--r-- | lisp/progmodes/typescript-ts-mode.el | 3 | ||||
-rw-r--r-- | test/lisp/progmodes/typescript-ts-mode-resources/indent.erts | 17 |
2 files changed, 20 insertions, 0 deletions
diff --git a/lisp/progmodes/typescript-ts-mode.el b/lisp/progmodes/typescript-ts-mode.el index a2b16d1beea..0fbac709c63 100644 --- a/lisp/progmodes/typescript-ts-mode.el +++ b/lisp/progmodes/typescript-ts-mode.el @@ -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) diff --git a/test/lisp/progmodes/typescript-ts-mode-resources/indent.erts b/test/lisp/progmodes/typescript-ts-mode-resources/indent.erts index 20f423259b4..7b6185e0386 100644 --- a/test/lisp/progmodes/typescript-ts-mode-resources/indent.erts +++ b/test/lisp/progmodes/typescript-ts-mode-resources/indent.erts @@ -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) |