aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorSvend Sorensen <svend@ciffer.net>2014-05-07 14:42:01 -0700
committerSvend Sorensen <svend@ciffer.net>2014-05-07 15:55:10 -0700
commitd8ff6bcc1c8bd4efa440c6d91cc10e94b6f8027c (patch)
tree4a46d1e3775589ab721f9b5c77d89b53b6ad47fc
parentAdd dash to Package-Requires (diff)
downloadpassword-store-d8ff6bcc1c8bd4efa440c6d91cc10e94b6f8027c.tar.xz
password-store-d8ff6bcc1c8bd4efa440c6d91cc10e94b6f8027c.zip
Factor out password completing-read function
-rw-r--r--contrib/emacs/password-store.el12
1 files changed, 8 insertions, 4 deletions
diff --git a/contrib/emacs/password-store.el b/contrib/emacs/password-store.el
index d0c5dcd..4b85995 100644
--- a/contrib/emacs/password-store.el
+++ b/contrib/emacs/password-store.el
@@ -132,6 +132,10 @@ outputs error message on failure."
"Return entry name corresponding to FILE."
(f-no-ext (f-relative file (password-store-dir))))
+(defun password-store--completing-read ()
+ "Read a password entry in the minibuffer, with completion."
+ (completing-read "Password entry: " (password-store-list)))
+
(defun password-store-list (&optional subdir)
"List password entries under SUBDIR."
(unless subdir (setq subdir ""))
@@ -146,7 +150,7 @@ outputs error message on failure."
This edits the password file directly in Emacs, so changes will
need to be commited manually if git is being used."
- (interactive (list (completing-read "Password entry: " (password-store-list))))
+ (interactive (list (password-store--completing-read)))
(find-file (password-store--entry-to-file entry)))
;;;###autoload
@@ -173,7 +177,7 @@ Returns the first line of the password data."
Clear previous password from kill ring. Pointer to kill ring is
stored in `password-store-kill-ring-pointer'. Password is cleared
after `password-store-timeout' seconds."
- (interactive (list (completing-read "Password entry: " (password-store-list))))
+ (interactive (list (password-store--completing-read)))
(let ((password (password-store-get entry)))
(password-store-clear)
(kill-new password)
@@ -205,7 +209,7 @@ Default PASSWORD-LENGTH is `password-store-password-length'."
;;;###autoload
(defun password-store-remove (entry)
"Remove existing password for ENTRY."
- (interactive (list (completing-read "Password entry: " (password-store-list))))
+ (interactive (list (password-store--completing-read)))
(message (password-store--run-remove entry t)))
;;;###autoload
@@ -214,7 +218,7 @@ Default PASSWORD-LENGTH is `password-store-password-length'."
This will only browse URLs that start with http:// or http:// to
avoid sending a password to the browser."
- (interactive (list (completing-read "Password entry: " (password-store-list))))
+ (interactive (list (password-store--completing-read)))
(let ((url (password-store-get entry)))
(if (or (string-prefix-p "http://" url)
(string-prefix-p "https://" url))