From 8746da61c3ab7836ed43a5d0087ea74b95c089e6 Mon Sep 17 00:00:00 2001 From: James Ravn Date: Thu, 13 Jan 2022 20:51:07 +0000 Subject: [PATCH] fix(javascript): incorrect lsp formatting for tsx lsp-mode doesn't detect the correct indentation, since it treats the derived tsx-mode as a web-mode. This change modifies the lsp-mode internal alist to recognize tsx-mode correctly. Ideally lsp-mode would have a better way to modify its known mode lists but I couldn't see it. Ref: emacs-lsp/lsp-mode#3308 --- modules/lang/javascript/config.el | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/lang/javascript/config.el b/modules/lang/javascript/config.el index 3bc2d9fce..6e09ff510 100644 --- a/modules/lang/javascript/config.el +++ b/modules/lang/javascript/config.el @@ -122,7 +122,10 @@ 'jsx-tide))))) :config (when (fboundp 'web-mode) - (define-derived-mode typescript-tsx-mode web-mode "TypeScript-TSX")) + (define-derived-mode typescript-tsx-mode web-mode "TypeScript-TSX") + (when (featurep! +lsp) + (after! lsp-mode + (add-to-list 'lsp--formatting-indent-alist '(typescript-tsx-mode . typescript-indent-level))))) (set-docsets! '(typescript-mode typescript-tsx-mode) :add "TypeScript" "AngularTS")