From d45155aec82ecd21ee45476af95b1d84b6143616 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 10 Nov 2020 16:29:13 -0500 Subject: [PATCH] tools/direnv: only run direnv once per buffer Halves the time direnv integration takes to initialize. --- 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 f38b7553f..2092a33b2 100644 --- a/modules/tools/direnv/config.el +++ b/modules/tools/direnv/config.el @@ -28,6 +28,13 @@ (file-remote-p default-directory)) (envrc-mode 1)))) + ;; Ensure these local variables survive major mode changes, so envrc-mode is + ;; only "activated" once per buffer. + (put 'envrc-mode 'permanent-local t) + (put 'process-environment 'permanent-local t) + (put 'exec-path 'permanent-local t) + (put 'eshell-path-env 'permanent-local t) + (define-derived-mode +direnv-rc-mode sh-mode "envrc" "Major mode for .envrc files." ;; Fontify .envrc keywords; it's a good indication of whether or not we've