From bfdc00cf42b2b267cfe4f011e5c32040ba8607b2 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 15 Jun 2018 17:15:25 +0200 Subject: [PATCH] Prevent tide-mode error when node isn't installed This error prevents you from opening js files. --- modules/lang/javascript/config.el | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/modules/lang/javascript/config.el b/modules/lang/javascript/config.el index c2ec87fbd..52a301945 100644 --- a/modules/lang/javascript/config.el +++ b/modules/lang/javascript/config.el @@ -78,9 +78,16 @@ ;; (def-package! tide - :hook (js2-mode . tide-setup) - :hook (typescript-mode . tide-setup) + :defer t :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 () "Enable `tide-mode' if in a *.tsx file." (when (string= (file-name-extension (or buffer-file-name "")) "tsx") @@ -89,6 +96,7 @@ :config (setq tide-completion-detailed t tide-always-show-documentation t) + ;; code completion (after! company ;; tide affects the global `company-backends', undo this so doom can handle