mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-25 04:18:08 +01:00
notmuch.el: add a submap (on "z" for "ztash") to stash things.
Provide key bindings for stuffing various RFC822 header fields and other metadata into the emacs kill-ring as text. The bindings are as follows: z F notmuch-show-stash-filename z T notmuch-show-stash-tags z c notmuch-show-stash-cc z d notmuch-show-stash-date z f notmuch-show-stash-from z m notmuch-show-stash-message-id z s notmuch-show-stash-subject z t notmuch-show-stash-to
This commit is contained in:
parent
b20bc7028d
commit
1631c713d9
1 changed files with 61 additions and 0 deletions
61
notmuch.el
61
notmuch.el
|
@ -51,6 +51,22 @@
|
||||||
(require 'mm-view)
|
(require 'mm-view)
|
||||||
(require 'message)
|
(require 'message)
|
||||||
|
|
||||||
|
(defvar notmuch-show-stash-map
|
||||||
|
(let ((map (make-sparse-keymap)))
|
||||||
|
(define-key map "c" 'notmuch-show-stash-cc)
|
||||||
|
(define-key map "d" 'notmuch-show-stash-date)
|
||||||
|
(define-key map "F" 'notmuch-show-stash-filename)
|
||||||
|
(define-key map "f" 'notmuch-show-stash-from)
|
||||||
|
(define-key map "m" 'notmuch-show-stash-message-id)
|
||||||
|
(define-key map "s" 'notmuch-show-stash-subject)
|
||||||
|
(define-key map "T" 'notmuch-show-stash-tags)
|
||||||
|
(define-key map "t" 'notmuch-show-stash-to)
|
||||||
|
map)
|
||||||
|
"Submap for stash commands"
|
||||||
|
)
|
||||||
|
|
||||||
|
(fset 'notmuch-show-stash-map notmuch-show-stash-map)
|
||||||
|
|
||||||
(defvar notmuch-show-mode-map
|
(defvar notmuch-show-mode-map
|
||||||
(let ((map (make-sparse-keymap)))
|
(let ((map (make-sparse-keymap)))
|
||||||
(define-key map "?" 'notmuch-help)
|
(define-key map "?" 'notmuch-help)
|
||||||
|
@ -80,6 +96,7 @@
|
||||||
(define-key map "n" 'notmuch-show-next-message)
|
(define-key map "n" 'notmuch-show-next-message)
|
||||||
(define-key map (kbd "DEL") 'notmuch-show-rewind)
|
(define-key map (kbd "DEL") 'notmuch-show-rewind)
|
||||||
(define-key map " " 'notmuch-show-advance-marking-read-and-archiving)
|
(define-key map " " 'notmuch-show-advance-marking-read-and-archiving)
|
||||||
|
(define-key map "z" 'notmuch-show-stash-map)
|
||||||
map)
|
map)
|
||||||
"Keymap for \"notmuch show\" buffers.")
|
"Keymap for \"notmuch show\" buffers.")
|
||||||
(fset 'notmuch-show-mode-map notmuch-show-mode-map)
|
(fset 'notmuch-show-mode-map notmuch-show-mode-map)
|
||||||
|
@ -1090,6 +1107,50 @@ All currently available key bindings:
|
||||||
:options '(hl-line-mode)
|
:options '(hl-line-mode)
|
||||||
:group 'notmuch)
|
:group 'notmuch)
|
||||||
|
|
||||||
|
(defun notmuch-show-do-stash (text)
|
||||||
|
(kill-new text)
|
||||||
|
(message (concat "Saved: " text)))
|
||||||
|
|
||||||
|
(defun notmuch-show-stash-cc ()
|
||||||
|
"Copy CC field of current message to kill-ring."
|
||||||
|
(interactive)
|
||||||
|
(notmuch-show-do-stash (notmuch-show-get-cc)))
|
||||||
|
|
||||||
|
(defun notmuch-show-stash-date ()
|
||||||
|
"Copy date of current message to kill-ring."
|
||||||
|
(interactive)
|
||||||
|
(notmuch-show-do-stash (notmuch-show-get-date)))
|
||||||
|
|
||||||
|
(defun notmuch-show-stash-filename ()
|
||||||
|
"Copy filename of current message to kill-ring."
|
||||||
|
(interactive)
|
||||||
|
(notmuch-show-do-stash (notmuch-show-get-filename)))
|
||||||
|
|
||||||
|
(defun notmuch-show-stash-from ()
|
||||||
|
"Copy From address of current message to kill-ring."
|
||||||
|
(interactive)
|
||||||
|
(notmuch-show-do-stash (notmuch-show-get-from)))
|
||||||
|
|
||||||
|
(defun notmuch-show-stash-message-id ()
|
||||||
|
"Copy message-id of current message to kill-ring."
|
||||||
|
(interactive)
|
||||||
|
(notmuch-show-do-stash (notmuch-show-get-message-id)))
|
||||||
|
|
||||||
|
(defun notmuch-show-stash-subject ()
|
||||||
|
"Copy Subject field of current message to kill-ring."
|
||||||
|
(interactive)
|
||||||
|
(notmuch-show-do-stash (notmuch-show-get-subject)))
|
||||||
|
|
||||||
|
(defun notmuch-show-stash-tags ()
|
||||||
|
"Copy tags of current message to kill-ring as a comma separated list."
|
||||||
|
(interactive)
|
||||||
|
(notmuch-show-do-stash (mapconcat 'identity (notmuch-show-get-tags) ",")))
|
||||||
|
|
||||||
|
(defun notmuch-show-stash-to ()
|
||||||
|
"Copy To address of current message to kill-ring."
|
||||||
|
(interactive)
|
||||||
|
(notmuch-show-do-stash (notmuch-show-get-to)))
|
||||||
|
|
||||||
; Make show mode a bit prettier, highlighting URLs and using word wrap
|
; Make show mode a bit prettier, highlighting URLs and using word wrap
|
||||||
|
|
||||||
(defun notmuch-show-pretty-hook ()
|
(defun notmuch-show-pretty-hook ()
|
||||||
|
|
Loading…
Reference in a new issue