From 681145e6b5cef963faea7d670a7c2694e7337d6e Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 5 Jan 2019 17:49:04 -0500 Subject: [PATCH] Defer tide-mode init until file exists This ensures that tide-mode won't activate for file-less JS buffers, which are error prone. But once the file is saved, it will consider activating itself. --- modules/lang/javascript/config.el | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/lang/javascript/config.el b/modules/lang/javascript/config.el index f01e5b011..92d6c33a3 100644 --- a/modules/lang/javascript/config.el +++ b/modules/lang/javascript/config.el @@ -126,9 +126,11 @@ ;; 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"))) + (cond ((not buffer-file-name) + (add-hook 'after-save-hook #'+javascript|init-tide nil t)) + ((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 ()