Prevent tide-mode error when node isn't installed

This error prevents you from opening js files.
This commit is contained in:
Henrik Lissner 2018-06-15 17:15:25 +02:00
parent c3d3638832
commit bfdc00cf42
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -78,9 +78,16 @@
;; ;;
(def-package! tide (def-package! tide
:hook (js2-mode . tide-setup) :defer t
:hook (typescript-mode . tide-setup)
:init :init
;; Don't let hard errors stop the user from opening js files.
(defun +javascript|init-tide ()
"Enable `tide-mode' if node is available."
(if (executable-find "node")
(tide-setup)
(message "Couldn't find `node', aborting tide server")))
(add-hook! (js2-mode typescript-mode) #'+javascript|init-tide)
(defun +javascript|init-tide-in-web-mode () (defun +javascript|init-tide-in-web-mode ()
"Enable `tide-mode' if in a *.tsx file." "Enable `tide-mode' if in a *.tsx file."
(when (string= (file-name-extension (or buffer-file-name "")) "tsx") (when (string= (file-name-extension (or buffer-file-name "")) "tsx")
@ -89,6 +96,7 @@
:config :config
(setq tide-completion-detailed t (setq tide-completion-detailed t
tide-always-show-documentation t) tide-always-show-documentation t)
;; code completion ;; code completion
(after! company (after! company
;; tide affects the global `company-backends', undo this so doom can handle ;; tide affects the global `company-backends', undo this so doom can handle