From 68a740d50861c2bed81930a370a594a77a8337ad Mon Sep 17 00:00:00 2001 From: Maciej Szlosarczyk Date: Fri, 12 Apr 2024 08:01:08 +0300 Subject: [PATCH] Add typescript mode, and disable the shitty Volar LSP server --- lang/javascript.el | 5 ++--- lang/web.el | 6 ------ pkg/lsp.el | 7 +++++++ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lang/javascript.el b/lang/javascript.el index e293b66..d86b0ec 100644 --- a/lang/javascript.el +++ b/lang/javascript.el @@ -10,6 +10,8 @@ :requires (web-mode company-web lsp-mode lsp-ui) :straight t) +(use-package typescript-mode :straight t) + ;; (use-package vue-mode ;; :straight t ;; :defer t) @@ -18,9 +20,6 @@ (add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode)) (add-to-list 'auto-mode-alist '("\\.json\\'" . js2-mode)) -;; Use js2-mode for typescript editing -(add-to-list 'auto-mode-alist '("\\.ts\\'" . js2-mode)) - (defun activate-js2-mode () "JS2 mode overrides." (set-indent 2) diff --git a/lang/web.el b/lang/web.el index 33110ca..e63fc44 100644 --- a/lang/web.el +++ b/lang/web.el @@ -16,12 +16,6 @@ ;; ERB mode (add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode)) -;; React Typescript -(add-to-list 'auto-mode-alist '("\\.tsx\\'" . web-mode)) - -;; Plain React -(add-to-list 'auto-mode-alist '("\\.jsx\\'" . web-mode)) - ;; Vue JS (add-to-list 'auto-mode-alist '("\\.vue\\'" . web-mode)) diff --git a/pkg/lsp.el b/pkg/lsp.el index 3219c74..0565034 100644 --- a/pkg/lsp.el +++ b/pkg/lsp.el @@ -65,6 +65,13 @@ lsp-ui-delay 0.5 ;; Wait half a second to display documentation lsp-ui-doc-position 'at-point lsp-ui-doc-include-signature t + ;; Disable the piece of shit vue LSP server. It activates itself in every + ;; project with .js, .ts or .json file due to something called 'takeover + ;; mode' or 'hybrid mode' or some such. + ;; It would be okay, but it also doesn't work 99% of the time. + + ;; When needed, enable this hot garbage in dir-locals.el + lsp-disabled-clients '(vue-semantic-server) lsp-log-io nil) ;; Lsp debugger mode