From ef8cd5523418063a9b35a2af1b936be541205303 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 9 Jul 2019 16:11:36 +0200 Subject: [PATCH] tools/direnv: fix direnv+flycheck integration Also fixes direnv+flycheck for nix users by consulting direnv before looking for flycheck executables. --- modules/tools/direnv/config.el | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/tools/direnv/config.el b/modules/tools/direnv/config.el index 2ffd62137..31744deb6 100644 --- a/modules/tools/direnv/config.el +++ b/modules/tools/direnv/config.el @@ -13,5 +13,12 @@ buffer/window/frame switch, which is less expensive." (add-hook 'focus-in-hook #'direnv--maybe-update-environment))) (add-hook 'direnv-mode-hook #'+direnv|init) + (defun +direnv*update (&rest _) + "Update direnv. Useful to advise functions that may run +environment-sensitive logic like `flycheck-default-executable-find'. This fixes +flycheck issues with direnv and on nix." + (direnv-update-environment default-directory)) + (advice-add #'flycheck-default-executable-find :before #'+direnv*update) + (when (executable-find "direnv") (direnv-mode +1)))