+pass/ivy: add get-field action (#103)
This commit is contained in:
parent
2f3f966990
commit
37012b86ca
1 changed files with 15 additions and 1 deletions
|
@ -12,6 +12,19 @@
|
||||||
|
|
||||||
|
|
||||||
(after! ivy
|
(after! ivy
|
||||||
|
(defun +pass-ivy-action--get-field (item)
|
||||||
|
(let* ((data (auth-pass-parse-entry item))
|
||||||
|
(field (if data (completing-read "Field: " (mapcar #'car data) nil t))))
|
||||||
|
(if data
|
||||||
|
(progn
|
||||||
|
(password-store-clear)
|
||||||
|
(message "Copied %s's %s field to clipboard. Will clear in %s seconds"
|
||||||
|
item field (password-store-timeout))
|
||||||
|
(kill-new (cdr (assoc field data)))
|
||||||
|
(setq password-store-timeout-timer
|
||||||
|
(run-at-time (password-store-timeout) nil 'password-store-clear)))
|
||||||
|
(error "Couldn't find entry: %s" item))))
|
||||||
|
|
||||||
(defun +pass-ivy-action--copy-username (item)
|
(defun +pass-ivy-action--copy-username (item)
|
||||||
(if-let (user (cl-loop with data = (auth-pass-parse-entry item)
|
(if-let (user (cl-loop with data = (auth-pass-parse-entry item)
|
||||||
for key in +pass-user-fields
|
for key in +pass-user-fields
|
||||||
|
@ -27,7 +40,8 @@
|
||||||
'(("o" password-store-copy "copy password")
|
'(("o" password-store-copy "copy password")
|
||||||
("u" +pass-ivy-action--copy-username "copy username")
|
("u" +pass-ivy-action--copy-username "copy username")
|
||||||
("e" password-store-edit "edit entry")
|
("e" password-store-edit "edit entry")
|
||||||
("b" password-store-url "open url in browser"))))
|
("b" password-store-url "open url in browser")
|
||||||
|
("f" +pass-ivy-action--get-field "get field"))))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun +pass/ivy (&optional browse-url)
|
(defun +pass/ivy (&optional browse-url)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue