]> git.cworth.org Git - notmuch/blobdiff - emacs/notmuch-jump.el
emacs: use new face for notmuch-jump and related
[notmuch] / emacs / notmuch-jump.el
index 1e2d0497949322c26cd2c453ae215336551156d6..e228c8a20409ec1c807818e5557f546786488424 100644 (file)
@@ -1,4 +1,4 @@
-;;; notmuch-jump.el --- User-friendly shortcut keys
+;;; notmuch-jump.el --- User-friendly shortcut keys  -*- lexical-binding: t -*-
 ;;
 ;; Copyright © Austin Clements
 ;;
 
 ;;; Code:
 
-(eval-when-compile
-  (require 'cl-lib)
-  (require 'pcase))
-
 (require 'notmuch-lib)
 (require 'notmuch-hello)
 
-(eval-and-compile
-  (unless (fboundp 'window-body-width)
-    ;; Compatibility for Emacs pre-24
-    (defalias 'window-body-width 'window-width)))
-
 ;;;###autoload
 (defun notmuch-jump-search ()
   "Jump to a saved search by shortcut key.
@@ -68,8 +59,13 @@ fast way to jump to a saved search from anywhere in Notmuch."
     (setq action-map (nreverse action-map))
     (if action-map
        (notmuch-jump action-map "Search: ")
-      (error "To use notmuch-jump, \
-please customize shortcut keys in notmuch-saved-searches."))))
+      (error "To use notmuch-jump, %s"
+            "please customize shortcut keys in notmuch-saved-searches."))))
+
+(defface notmuch-jump-key
+  '((t :inherit minibuffer-prompt))
+  "Default face used for keys in `notmuch-jump' and related."
+  :group 'notmuch-faces)
 
 (defvar notmuch-jump--action nil)
 
@@ -97,7 +93,7 @@ not appear in the pop-up buffer."
            (buffer-string)))
         (full-prompt
          (concat table "\n\n"
-                 (propertize prompt 'face 'minibuffer-prompt)))
+                 (propertize prompt 'face 'notmuch-jump-key)))
         ;; By default, the minibuffer applies the minibuffer face to
         ;; the entire prompt.  However, we want to clearly
         ;; distinguish bindings (which we put in the prompt face
@@ -125,14 +121,14 @@ ACTION-MAP.  These strings can be inserted into a tabular
 buffer."
   ;; Compute the maximum key description width
   (let ((key-width 1))
-    (pcase-dolist (`(,key ,desc) action-map)
+    (pcase-dolist (`(,key ,_desc) action-map)
       (setq key-width
            (max key-width
                 (string-width (format-kbd-macro key)))))
     ;; Format each action
     (mapcar (pcase-lambda (`(,key ,desc))
              (setq key (format-kbd-macro key))
-             (concat (propertize key 'face 'minibuffer-prompt)
+             (concat (propertize key 'face 'notmuch-jump-key)
                      (make-string (- key-width (length key)) ? )
                      " " desc))
            action-map)))
@@ -169,7 +165,7 @@ buffer."
   "Translate ACTION-MAP into a minibuffer keymap."
   (let ((map (make-sparse-keymap)))
     (set-keymap-parent map notmuch-jump-minibuffer-map)
-    (pcase-dolist (`(,key ,name ,fn) action-map)
+    (pcase-dolist (`(,key ,_name ,fn) action-map)
       (when (= (length key) 1)
        (define-key map key
          `(lambda () (interactive)
@@ -178,7 +174,7 @@ buffer."
     ;; By doing this in two passes (and checking if we already have a
     ;; binding) we avoid problems if the user specifies a binding which
     ;; is a prefix of another binding.
-    (pcase-dolist (`(,key ,name ,fn) action-map)
+    (pcase-dolist (`(,key ,_name ,_fn) action-map)
       (when (> (length key) 1)
        (let* ((key (elt key 0))
               (keystr (string key))
@@ -203,8 +199,6 @@ buffer."
                 (exit-minibuffer)))))))
     map))
 
-;;
-
 (provide 'notmuch-jump)
 
 ;;; notmuch-jump.el ends here