[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/hydra 1e72f96a14 15/46: hydra.el (defhydra): Add :base-
From: |
Stefan Monnier |
Subject: |
[elpa] externals/hydra 1e72f96a14 15/46: hydra.el (defhydra): Add :base-map option to body plist |
Date: |
Tue, 25 Oct 2022 22:27:20 -0400 (EDT) |
branch: externals/hydra
commit 1e72f96a1434ab43769c0fe374072d3a7b704683
Author: Oleh Krehel <ohwoeowho@gmail.com>
Commit: Oleh Krehel <ohwoeowho@gmail.com>
hydra.el (defhydra): Add :base-map option to body plist
* README.md: Update
Example:
(defhydra hydra-numbers (:base-map (make-sparse-keymap))
"test"
("0" (message "zero"))
("1" (message "one")))
Fixes #285
---
README.md | 3 +++
hydra.el | 6 ++++--
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index aa3356924d..0e165019c1 100644
--- a/README.md
+++ b/README.md
@@ -326,6 +326,9 @@ instead of `define-key` you can use this option.
The `:bind` key can be overridden by each head. This is useful if you want to
have a few heads that
are not bound outside the hydra.
+### `:base-map`
+Use this option if you want to override `hydra-base-map` for the current hydra.
+
## `awesome-docstring`
This can be a simple string used to build the final hydra hint. However, if
you start it with a
diff --git a/hydra.el b/hydra.el
index 7d3689e4b3..e9259f138c 100644
--- a/hydra.el
+++ b/hydra.el
@@ -1182,11 +1182,13 @@ result of `defhydra'."
(when (keywordp (car body))
(setq body (cons nil (cons nil body))))
(condition-case-unless-debug err
- (let* ((keymap (copy-keymap hydra-base-map))
- (keymap-name (intern (format "%S/keymap" name)))
+ (let* ((keymap-name (intern (format "%S/keymap" name)))
(body-name (intern (format "%S/body" name)))
(body-key (cadr body))
(body-plist (cddr body))
+ (base-map (or (eval (plist-get body-plist :base-map))
+ hydra-base-map))
+ (keymap (copy-keymap base-map))
(body-map (or (car body)
(plist-get body-plist :bind)))
(body-pre (plist-get body-plist :pre))
- [elpa] externals/hydra 03eeea324c 10/46: Make first line of hydra docstrings more informative., (continued)
- [elpa] externals/hydra 03eeea324c 10/46: Make first line of hydra docstrings more informative., Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 62e0f37462 14/46: hydra-test.el: Fix tests for previous commit, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 5b8f662992 16/46: hydra.el (hydra--format): Allow e.g. "M-?" in docstring, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 44b42598ee 18/46: Fix Typos, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra d071278fcc 20/46: hydra.el (hydra--format): Fix off-by-one, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 5c5b9ca326 21/46: Silence byte-compiler on Emacs 25, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra e01a79e4b7 24/46: hydra.el (defhydra): Declare "/params" and "/docstring", Stefan Monnier, 2022/10/25
- [elpa] externals/hydra f0745366ff 34/46: hydra.el (hydra--hint-from-matrix-1): Extract, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 1dab16cd2a 35/46: hydra.el (hydra--hint-from-matrix): Prep to return list, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 8119d82fe9 13/46: hydra.el (hydra--make-defun): require hydra, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 1e72f96a14 15/46: hydra.el (defhydra): Add :base-map option to body plist,
Stefan Monnier <=
- [elpa] externals/hydra df3025f7e3 04/46: hydra.el (hydra-key-regex): Add "\\", Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 49611c1509 07/46: hydra.el (hydra--generate-matrix): Refactor, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra e228432bb6 08/46: hydra.el (hydra--hint-from-matrix): Adjust for "%" in key, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 87cc74b264 17/46: hydra.el (hydra--format): Make no docstring equivalent to :hint nil, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra cf96140079 12/46: hydra-test.el: Regenerate tests for the last commit, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra c30e04d3f6 19/46: lv.el (lv-window): Turn off display-line-numbers, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 67098cc914 22/46: hydra.el (hydra--format): Add extra newline, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra ffff068d7f 23/46: Update readme.md, add repo name and melpa badges, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 05871dd6c8 26/46: hydra.el (defhydra): Document the :column feature, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 425f20e7ed 27/46: README.md: Link to :column code, Stefan Monnier, 2022/10/25