From cffd90080bc9413026560c26a7d491b4ca6ad25e Mon Sep 17 00:00:00 2001 From: Ting Zhou Date: Sat, 2 Jun 2018 15:11:47 -0700 Subject: [PATCH] only use javascript-typescript-langserver for javascript, react, typescript layer, and purge other langservers --- layers/+frameworks/react/funcs.el | 8 +++----- layers/+frameworks/react/packages.el | 4 ++++ layers/+lang/javascript/README.org | 2 +- layers/+lang/javascript/funcs.el | 8 +++----- layers/+lang/javascript/packages.el | 11 +++-------- layers/+lang/typescript/funcs.el | 6 ++---- layers/+lang/typescript/packages.el | 7 ++++--- layers/+tools/lsp/funcs.el | 2 +- 8 files changed, 21 insertions(+), 27 deletions(-) diff --git a/layers/+frameworks/react/funcs.el b/layers/+frameworks/react/funcs.el index 7218ae645..e71d8dd5e 100644 --- a/layers/+frameworks/react/funcs.el +++ b/layers/+frameworks/react/funcs.el @@ -29,23 +29,21 @@ "Setup lsp backend." (if (configuration-layer/layer-used-p 'lsp) (progn - (lsp-javascript-typescript-enable) - (lsp-javascript-flow-enable) - (spacemacs//setup-lsp-jump-handler 'rjsx-mode)) + (lsp-javascript-typescript-enable)) (message "`lsp' layer is not installed, please add `lsp' layer to your dotfile."))) (defun spacemacs//react-setup-lsp-company () "Setup lsp auto-completion." (if (configuration-layer/layer-used-p 'lsp) (progn - (fix-lsp-company-prefix) (spacemacs|add-company-backends :backends company-lsp :modes rjsx-mode :variables company-minimum-prefix-length 2 :append-hooks nil :call-hooks t) - (company-mode)) + (company-mode) + (fix-lsp-company-prefix)) (message "`lsp' layer is not installed, please add `lsp' layer to your dotfile."))) diff --git a/layers/+frameworks/react/packages.el b/layers/+frameworks/react/packages.el index c310d6fe0..cb999c09c 100644 --- a/layers/+frameworks/react/packages.el +++ b/layers/+frameworks/react/packages.el @@ -17,6 +17,7 @@ evil-matchit flycheck js-doc + lsp-javascript-typescript rjsx-mode smartparens tern @@ -50,6 +51,9 @@ (add-hook 'rjsx-mode-hook 'spacemacs/js-doc-require) (spacemacs/js-doc-set-key-bindings 'rjsx-mode)) +(defun react/post-init-lsp-javascript-typescript () + (spacemacs//setup-lsp-jump-handler 'rjsx-mode)) + (defun react/init-rjsx-mode () (use-package rjsx-mode :defer t diff --git a/layers/+lang/javascript/README.org b/layers/+lang/javascript/README.org index 86a7063d7..2996a3bb9 100644 --- a/layers/+lang/javascript/README.org +++ b/layers/+lang/javascript/README.org @@ -84,7 +84,7 @@ See [[file:../../+tools/tern/README.org][tern layer]] documentation. You just have to install javascript and typescript language server packages: #+begin_src sh -npm i -g typescript javascript-typescript-langserver flow-language-server +npm i -g typescript javascript-typescript-langserver #+end_src * Configuration diff --git a/layers/+lang/javascript/funcs.el b/layers/+lang/javascript/funcs.el index a99bd2b07..c320eb543 100644 --- a/layers/+lang/javascript/funcs.el +++ b/layers/+lang/javascript/funcs.el @@ -31,9 +31,7 @@ "Setup lsp backend." (if (configuration-layer/layer-used-p 'lsp) (progn - (spacemacs//setup-lsp-jump-handler 'js2-mode) - (lsp-javascript-typescript-enable) - (lsp-javascript-flow-enable)) + (lsp-javascript-typescript-enable)) (message (concat "`lsp' layer is not installed, " "please add `lsp' layer to your dotfile.")))) @@ -41,13 +39,13 @@ "Setup lsp auto-completion." (if (configuration-layer/layer-used-p 'lsp) (progn - (fix-lsp-company-prefix) (spacemacs|add-company-backends :backends company-lsp :modes js2-mode :append-hooks nil :call-hooks t) - (company-mode)) + (company-mode) + (fix-lsp-company-prefix)) (message (concat "`lsp' layer is not installed, " "please add `lsp' layer to your dotfile.")))) diff --git a/layers/+lang/javascript/packages.el b/layers/+lang/javascript/packages.el index 12b79e465..ac4194652 100644 --- a/layers/+lang/javascript/packages.el +++ b/layers/+lang/javascript/packages.el @@ -24,10 +24,7 @@ js2-mode js2-refactor livid-mode - (lsp-javascript-typescript - :requires lsp-mode - :location (recipe :fetcher github - :repo "emacs-lsp/lsp-javascript")) + (lsp-javascript-typescript :requires lsp-mode) org skewer-mode tern @@ -78,8 +75,7 @@ :mode "\\.m?js\\'" :init (progn - (add-hook 'js2-mode-local-vars-hook - #'spacemacs//javascript-setup-backend) + (add-hook 'js2-mode-local-vars-hook #'spacemacs//javascript-setup-backend) ;; safe values for backend to be used in directory file variables (dolist (value '(lsp tern)) (add-to-list 'safe-local-variable-values @@ -171,8 +167,7 @@ (use-package lsp-javascript-typescript :commands lsp-javascript-typescript-enable :defer t - :init (add-hook 'js2-mode-hook 'lsp-mode) - :config (require 'lsp-javascript-flow))) + :config (spacemacs//setup-lsp-jump-handler 'js2-mode))) (defun javascript/init-skewer-mode () (use-package skewer-mode diff --git a/layers/+lang/typescript/funcs.el b/layers/+lang/typescript/funcs.el index 63ea9e24b..bfd739da5 100644 --- a/layers/+lang/typescript/funcs.el +++ b/layers/+lang/typescript/funcs.el @@ -66,8 +66,6 @@ "Setup lsp backend." (if (configuration-layer/layer-used-p 'lsp) (progn - (spacemacs//setup-lsp-jump-handler 'typescript-mode - 'typescript-tsx-mode) (lsp-javascript-typescript-enable)) (message (concat "`lsp' layer is not installed, " "please add `lsp' layer to your dotfile.")))) @@ -76,14 +74,14 @@ "Setup lsp auto-completion." (if (configuration-layer/layer-used-p 'lsp) (progn - (fix-lsp-company-prefix) (spacemacs|add-company-backends :backends company-lsp :modes typescript-mode typescript-tsx-mode :variables company-minimum-prefix-length 2 :append-hooks nil :call-hooks t) - (company-mode)) + (company-mode) + (fix-lsp-company-prefix)) (message (concat "`lsp' layer is not installed, " "please add `lsp' layer to your dotfile.")))) diff --git a/layers/+lang/typescript/packages.el b/layers/+lang/typescript/packages.el index 7662f2866..7cde2feaf 100644 --- a/layers/+lang/typescript/packages.el +++ b/layers/+lang/typescript/packages.el @@ -15,7 +15,7 @@ company eldoc flycheck - lsp-mode + lsp-javascript-typescript smartparens tide typescript-mode @@ -45,8 +45,9 @@ (flycheck-add-mode 'typescript-tide 'typescript-tsx-mode) (flycheck-add-mode 'typescript-tslint 'typescript-tsx-mode)))) -(defun typescript/post-init-lsp-mode () - (add-hook 'typescript-mode-hook 'lsp-mode)) +(defun typescript/post-init-lsp-javascript-typescript () + (spacemacs//setup-lsp-jump-handler 'typescript-mode + 'typescript-tsx-mode)) (defun typescript/post-init-smartparens () (if dotspacemacs-smartparens-strict-mode diff --git a/layers/+tools/lsp/funcs.el b/layers/+tools/lsp/funcs.el index 26fd542a1..b2853ee74 100644 --- a/layers/+tools/lsp/funcs.el +++ b/layers/+tools/lsp/funcs.el @@ -35,7 +35,7 @@ "Set jump handler for LSP with the given MODE." (dolist (m modes) (add-to-list (intern (format "spacemacs-jump-handlers-%S" m)) - '(lsp-ui-peek-find-definitions)))) + #'lsp-ui-peek-find-definitions))) (defun fix-lsp-company-prefix () "fix lsp-javascript company prefix