Refactor +javascript|init-lsp-or-tide-maybe

LSP doesn't _need_ node to enable itself.
This commit is contained in:
Henrik Lissner 2019-06-14 18:28:29 +02:00
parent 3e4f0a982b
commit 28d04a6f5f
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -138,18 +138,19 @@ to tide."
(when (or (derived-mode-p 'js-mode 'typescript-mode) (when (or (derived-mode-p 'js-mode 'typescript-mode)
(and (eq major-mode 'web-mode) (and (eq major-mode 'web-mode)
(string= "tsx" (file-name-extension buffer-file-name)))) (string= "tsx" (file-name-extension buffer-file-name))))
(cond ((not buffer-file-name) (if (not buffer-file-name)
;; necessary because `tide-setup' and `lsp' will error if not a ;; necessary because `tide-setup' and `lsp' will error if not a
;; file-visiting buffer ;; file-visiting buffer
(add-hook 'after-save-hook #'+javascript|init-tide-or-lsp-maybe nil 'local)) (add-hook 'after-save-hook #'+javascript|init-tide-or-lsp-maybe nil 'local)
((executable-find "node") (or (and (featurep! +lsp)
(when (featurep! +lsp) (progn (lsp!) lsp-mode))
(lsp!)) ;; fall back to tide
;; fall back to tide (if (executable-find "node")
(when (and (not (bound-and-true-p lsp-mode)) (and (require 'tide nil t)
(require 'tide nil t)) (progn (tide-setup) tide-mode))
(tide-setup)) (ignore
(remove-hook 'after-save-hook #'+javascript|init-tide-or-lsp-maybe 'local)))))) (doom-log "Couldn't start tide because 'node' is missing"))))
(remove-hook 'after-save-hook #'+javascript|init-tide-or-lsp-maybe 'local)))))
(add-hook! (js-mode typescript-mode web-mode) #'+javascript|init-lsp-or-tide-maybe) (add-hook! (js-mode typescript-mode web-mode) #'+javascript|init-lsp-or-tide-maybe)