From d15022d4fe5219ceeb30cd6203791af2b0da8216 Mon Sep 17 00:00:00 2001 From: edgar-vincent <63352906+edgar-vincent@users.noreply.github.com> Date: Sat, 23 Jul 2022 13:59:43 +0000 Subject: [PATCH] fix(pass): enable evil-collection bindings - Pass was launched in emacs-state because evil-collection didn't support pass when the module was written, but it does now. - It also removes stale code relative to the PASSWORD_STORE_DIR environment variable, since the password store path is not hardcoded in pass.el anymore. --- modules/tools/pass/config.el | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/modules/tools/pass/config.el b/modules/tools/pass/config.el index d6d78baf8..15303d80e 100644 --- a/modules/tools/pass/config.el +++ b/modules/tools/pass/config.el @@ -13,25 +13,19 @@ ;;;###package password-store (setq password-store-password-length 12) -;; Fix hard-coded password-store location; respect PASSWORD_STORE_DIR envvar -(defadvice! +pass--respect-pass-dir-envvar-a (entry) - "Return a string with the file content of ENTRY." - :override #'auth-source-pass--read-entry - (with-temp-buffer - (insert-file-contents - (expand-file-name (format "%s.gpg" entry) (password-store-dir))) - (buffer-substring-no-properties (point-min) (point-max)))) - +(after! evil-collection-pass + ;; FIXME This needs to be upstreamed to evil-collection. + (add-to-list 'evil-collection-pass-command-to-label '(pass-update-buffer . "gr"))) (after! pass - (set-evil-initial-state! 'pass-mode 'emacs) + (set-evil-initial-state! 'pass-mode 'normal) (set-popup-rule! "^\\*Password-Store" :side 'left :size 0.25 :quit nil) - (define-key! pass-mode-map - "j" #'pass-next-entry - "k" #'pass-prev-entry - "d" #'pass-kill - "\C-j" #'pass-next-directory - "\C-k" #'pass-prev-directory)) + (map! :map pass-mode-map + :n "j" #'pass-next-entry + :n "k" #'pass-prev-entry + :n "d" #'pass-kill + :n "C-j" #'pass-next-directory + :n "C-k" #'pass-prev-directory)) ;; Is built into Emacs 26+