Added pass contrib layer that repescts dotspacemacs-use-ido and
describes multiline pass entries.
This commit is contained in:
parent
ff43db919b
commit
3dd9fc5d4e
25
layers/+tools/pass/README.org
Normal file
25
layers/+tools/pass/README.org
Normal file
|
@ -0,0 +1,25 @@
|
|||
#+TITLE Pass contribution layer for Spacemacs
|
||||
|
||||
* Table of Contents
|
||||
- [[#description][Description]]
|
||||
- [[#key-bindings][Key Bindings]]
|
||||
|
||||
* Description
|
||||
|
||||
This layer adds intregration with [[http://www.passwordstore.org/][pass]], the standard unix password manager.
|
||||
You must have ~pass~ installed for this layer to function properly.
|
||||
|
||||
* Key Bindings
|
||||
| Key Bindings | Description |
|
||||
|--------------+----------------------------------------------------------------------|
|
||||
| ~SPC P s y~ | copy password (~password-store-copy~) |
|
||||
| ~SPC P s Y~ | copy and describe password (~pass/password-store-copy-and-describe~) |
|
||||
| ~SPC P s ?~ | describe password (~pass/password-store-describe~) |
|
||||
| ~SPC P s g~ | generate new password (~password-store-generate~) |
|
||||
| ~SPC P s i~ | insert new password (~password-store-insert~) |
|
||||
| ~SPC P s c~ | edit password (~password-store-edit~) |
|
||||
| ~SPC P s r~ | rename password (~password-store-rename~) |
|
||||
| ~SPC P s d~ | remove from password store (~password-store-remove~) |
|
||||
| ~SPC P s D~ | clear the password store (~password-store-clear~) |
|
||||
| ~SPC P s I~ | initialize the password store (~password-store-init~) |
|
||||
| ~SPC P s w~ | open url (~password-store-url~) |
|
52
layers/+tools/pass/packages.el
Normal file
52
layers/+tools/pass/packages.el
Normal file
|
@ -0,0 +1,52 @@
|
|||
;; ;;; packages.el --- pass Layer packages File for Spacemacs
|
||||
;; ;;
|
||||
;; ;; Copyright (c) 2012-2014 Sylvain Benner
|
||||
;; ;; Copyright (c) 2014-2015 Sylvain Benner & Contributors
|
||||
;; ;;
|
||||
;; ;; Author: Andrew Oppenlander <andrew.oppenlander@gmail.com>
|
||||
;; ;; URL: https://github.com/syl20bnr/spacemacs
|
||||
;; ;;
|
||||
;; ;; This file is not part of GNU Emacs.
|
||||
;; ;;
|
||||
;; ;;; License: GPLv3
|
||||
|
||||
(setq pass-packages '(password-store))
|
||||
|
||||
(defun pass/init-password-store ()
|
||||
(use-package password-store
|
||||
:defer t
|
||||
:init
|
||||
(evil-leader/set-key
|
||||
"Psy" 'password-store-copy
|
||||
"Psg" 'password-store-generate
|
||||
"Psi" 'password-store-insert
|
||||
"Psc" 'password-store-edit
|
||||
"Psr" 'password-store-rename
|
||||
"Psd" 'password-store-remove
|
||||
"PsD" 'password-store-clear
|
||||
"PsI" 'password-store-init
|
||||
"Psw" 'password-store-url
|
||||
"Ps?" 'pass/password-store-describe
|
||||
"PsY" 'pass/password-store-copy-and-describe)
|
||||
:config
|
||||
(progn
|
||||
(defun password-store--completing-read ()
|
||||
"Read a password entry in the minibuffer, with completion.
|
||||
|
||||
This method is overridden to allow use of the dotspacemacs-use-ido variable."
|
||||
(if dotspacemacs-use-ido
|
||||
(ido-completing-read "Password entry: " (password-store-list))
|
||||
(helm-comp-read "Password entry: " (password-store-list))))
|
||||
|
||||
(defun pass/password-store-copy-and-describe (entry)
|
||||
"Copy the password to the clipboard, and show the multiline description for ENTRY"
|
||||
(interactive (list (password-store--completing-read)))
|
||||
(password-store-copy entry)
|
||||
(pass/password-store-describe entry))
|
||||
|
||||
(defun pass/password-store-describe (entry)
|
||||
"Show the multiline description for ENTRY"
|
||||
(interactive (list (password-store--completing-read)))
|
||||
(let ((description (s-join "\n" (cdr (s-lines (password-store--run-show entry))))))
|
||||
(message "%s" description)))
|
||||
)))
|
Loading…
Reference in a new issue