From 198a920f7b2ec22f77aeb8259a01d75b47edd3e0 Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Fri, 6 Jul 2012 00:30:15 +0200 Subject: Add ability to add label to file * dispass.el (dispass-labels-mode-map): Add direct keybinding for `dispass-add-label' so it is not required to always call `dispass-create'. (dispass-create): Call `dispass-add-label' in order to automatically insert newly created labels. (dispass-add-label): Adds a new label definition at the end of `dispass-file' and when `major-mode' is `dispass-labels-mode' reverts the buffer to show the changes. --- dispass.el | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/dispass.el b/dispass.el index 32f96a3..b02f354 100644 --- a/dispass.el +++ b/dispass.el @@ -120,6 +120,7 @@ (let ((map (make-sparse-keymap))) (set-keymap-parent map tabulated-list-mode-map) (define-key map "c" 'dispass-create) + (define-key map "a" 'dispass-add-label) map)) (defun dispass-process-sentinel (proc status) @@ -182,7 +183,8 @@ an eye out for LABEL." (interactive "MLabel: \nP") "Create a new password for LABEL." (let ((length (or length dispass-default-length))) - (dispass-start-process label t length))) + (dispass-start-process label t length) + (dispass-add-label label length "dispass1"))) ;;;###autoload (defun dispass (label &optional length) @@ -192,6 +194,15 @@ an eye out for LABEL." (dispass-start-process label nil length))) ;; Labels management +;;;###autoload +(defun dispass-add-label (label length hashtype) + (interactive "MLabel: \nnLength: \nMHash: ") + (with-temp-buffer + (insert (format "%s length=%d hash=%s\n" label length hashtype)) + (append-to-file (point-min) (point-max) dispass-file)) + (when (eq major-mode 'dispass-labels-mode) + (revert-buffer))) + (defun dispass-from-button (button) "Call dispass with information from BUTTON." (dispass (button-get button 'dispass-label) -- cgit v1.2.3-54-g00ecf