Allow nil as shortcut character in frequently used features

This results in no entry being defined in the corresponding hydra.
Daniel Borchmann 2 years ago
parent 0aa8140e22
commit a511e9e73a
No known key found for this signature in database
GPG Key ID: 1C7071A75BB72D64

@ -153,9 +153,11 @@ them. Can be used in application shortcuts such as
`db/helm-shortcuts. Each entry is a list of three items: a
short description, a shortcut character, and the function to
call. Customizing this variable redefines the global
`hydra-shortcuts' mapping."
`hydra-feature-shortcuts'. Instead of a shortcut character, nil
can be chosen, in which case no entry in the
`hydra-feature-shortcuts' will be generated."
:group 'personal-settings
:type '(repeat (list string character function))
:type '(repeat (list string (choice character (const nil)) function))
:set #'(lambda (symbol value)
(set-default symbol value)
;; Update hydra when already possible available

@ -60,14 +60,19 @@ _h_ _l_ _o_k _y_ank
;; `db/frequently-used-features'.
(defun db/define-feature-shortcuts-hydra ()
"Globally define `hydra-feature-shortcuts' for feature shortcuts."
"Globally define `hydra-feature-shortcuts' for feature shortcuts.
If instead of a shortcut character nil is provided, no entry in
the hydra will be generated. See documentation of
`db/frequently-used-features' for details."
`(defhydra hydra-feature-shortcuts (:color blue)
,@(mapcar (lambda (entry)
(pcase-let ((`(,description ,shortcut ,function) entry))
(list (string shortcut) function description)))
(cl-remove-if #'(lambda (entry)
(null (cl-second entry)))