Refactor +javascript|init-lsp-or-tide-maybe
LSP doesn't _need_ node to enable itself.
This commit is contained in:
parent
3e4f0a982b
commit
28d04a6f5f
1 changed files with 13 additions and 12 deletions
|
@ -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
|
||||||
(when (and (not (bound-and-true-p lsp-mode))
|
(if (executable-find "node")
|
||||||
(require 'tide nil t))
|
(and (require 'tide nil t)
|
||||||
(tide-setup))
|
(progn (tide-setup) tide-mode))
|
||||||
(remove-hook 'after-save-hook #'+javascript|init-tide-or-lsp-maybe 'local))))))
|
(ignore
|
||||||
|
(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)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue