[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 0ae639f 22/45: Use a variable instead of a function for th
From: |
Oleh Krehel |
Subject: |
[elpa] master 0ae639f 22/45: Use a variable instead of a function for the hint |
Date: |
Thu, 16 Apr 2015 12:45:48 +0000 |
branch: master
commit 0ae639f7bc3b7ef72bd5f6fcc57f89be8bdd9d37
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>
Use a variable instead of a function for the hint
* hydra.el (hydra--message): Remove.
(hydra--make-defun): Update.
(defhydra): Replace "defun foo/hint" with "defvar foo/hint".
This will allow to dynamically modify the hint in the future.
* hydra-test.el: Update tests.
---
hydra-test.el | 450 ++++++++++++++++++++++++++++++---------------------------
hydra.el | 19 +--
2 files changed, 247 insertions(+), 222 deletions(-)
diff --git a/hydra-test.el b/hydra-test.el
index 9fe3fb1..54da5d0 100644
--- a/hydra-test.el
+++ b/hydra-test.el
@@ -41,33 +41,35 @@
(set
(defvar hydra-error/keymap nil
"Keymap for hydra-error.")
- (quote (keymap (32 . hydra-repeat)
- (107 . hydra-error/previous-error)
- (106 . hydra-error/next-error)
- (104 . hydra-error/first-error)
- (kp-subtract . hydra--negative-argument)
- (kp-9 . hydra--digit-argument)
- (kp-8 . hydra--digit-argument)
- (kp-7 . hydra--digit-argument)
- (kp-6 . hydra--digit-argument)
- (kp-5 . hydra--digit-argument)
- (kp-4 . hydra--digit-argument)
- (kp-3 . hydra--digit-argument)
- (kp-2 . hydra--digit-argument)
- (kp-1 . hydra--digit-argument)
- (kp-0 . hydra--digit-argument)
- (57 . hydra--digit-argument)
- (56 . hydra--digit-argument)
- (55 . hydra--digit-argument)
- (54 . hydra--digit-argument)
- (53 . hydra--digit-argument)
- (52 . hydra--digit-argument)
- (51 . hydra--digit-argument)
- (50 . hydra--digit-argument)
- (49 . hydra--digit-argument)
- (48 . hydra--digit-argument)
- (45 . hydra--negative-argument)
- (21 . hydra--universal-argument))))
+ (quote
+ (keymap
+ (32 . hydra-repeat)
+ (107 . hydra-error/previous-error)
+ (106 . hydra-error/next-error)
+ (104 . hydra-error/first-error)
+ (kp-subtract . hydra--negative-argument)
+ (kp-9 . hydra--digit-argument)
+ (kp-8 . hydra--digit-argument)
+ (kp-7 . hydra--digit-argument)
+ (kp-6 . hydra--digit-argument)
+ (kp-5 . hydra--digit-argument)
+ (kp-4 . hydra--digit-argument)
+ (kp-3 . hydra--digit-argument)
+ (kp-2 . hydra--digit-argument)
+ (kp-1 . hydra--digit-argument)
+ (kp-0 . hydra--digit-argument)
+ (57 . hydra--digit-argument)
+ (56 . hydra--digit-argument)
+ (55 . hydra--digit-argument)
+ (54 . hydra--digit-argument)
+ (53 . hydra--digit-argument)
+ (52 . hydra--digit-argument)
+ (51 . hydra--digit-argument)
+ (50 . hydra--digit-argument)
+ (49 . hydra--digit-argument)
+ (48 . hydra--digit-argument)
+ (45 . hydra--negative-argument)
+ (21 . hydra--universal-argument))))
(defun hydra-error/first-error nil
"Create a hydra with a \"M-g\" body and the heads:
@@ -88,7 +90,11 @@ Call the head: `first-error'."
(message "%S" err)
(unless hydra-lv (sit-for 0.8))))
(when hydra-is-helpful
- (hydra-error/hint))
+ (if hydra-lv
+ (lv-message
+ (eval hydra-error/hint))
+ (message
+ (eval hydra-error/hint))))
(hydra-set-transient-map
hydra-error/keymap
(lambda nil
@@ -115,7 +121,11 @@ Call the head: `next-error'."
(message "%S" err)
(unless hydra-lv (sit-for 0.8))))
(when hydra-is-helpful
- (hydra-error/hint))
+ (if hydra-lv
+ (lv-message
+ (eval hydra-error/hint))
+ (message
+ (eval hydra-error/hint))))
(hydra-set-transient-map
hydra-error/keymap
(lambda nil
@@ -142,7 +152,11 @@ Call the head: `previous-error'."
(message "%S" err)
(unless hydra-lv (sit-for 0.8))))
(when hydra-is-helpful
- (hydra-error/hint))
+ (if hydra-lv
+ (lv-message
+ (eval hydra-error/hint))
+ (message
+ (eval hydra-error/hint))))
(hydra-set-transient-map
hydra-error/keymap
(lambda nil
@@ -164,22 +178,16 @@ Call the head: `previous-error'."
(define-key global-map [134217831 107]
(function
hydra-error/previous-error))
- (defun hydra-error/hint nil
- (if hydra-lv
- (lv-message
- (format
- #("error: [h]: first, [j]: next, [k]: prev, [SPC]: rep."
- 8 9 (face hydra-face-red)
- 20 21 (face hydra-face-red)
- 31 32 (face hydra-face-red)
- 42 45 (face hydra-face-red))))
- (message
- (format
- #("error: [h]: first, [j]: next, [k]: prev, [SPC]: rep."
- 8 9 (face hydra-face-red)
- 20 21 (face hydra-face-red)
- 31 32 (face hydra-face-red)
- 42 45 (face hydra-face-red))))))
+ (set
+ (defvar hydra-error/hint nil
+ "Dynamic hint for hydra-error.")
+ (quote
+ (format
+ #("error: [h]: first, [j]: next, [k]: prev, [SPC]: rep."
+ 8 9 (face hydra-face-red)
+ 20 21 (face hydra-face-red)
+ 31 32 (face hydra-face-red)
+ 42 45 (face hydra-face-red)))))
(defun hydra-error/body nil
"Create a hydra with a \"M-g\" body and the heads:
@@ -192,7 +200,11 @@ The body can be accessed via `hydra-error/body'."
(interactive)
(hydra-default-pre)
(when hydra-is-helpful
- (hydra-error/hint))
+ (if hydra-lv
+ (lv-message
+ (eval hydra-error/hint))
+ (message
+ (eval hydra-error/hint))))
(hydra-set-transient-map
hydra-error/keymap
(lambda nil
@@ -216,33 +228,35 @@ The body can be accessed via `hydra-error/body'."
(set
(defvar hydra-toggle/keymap nil
"Keymap for hydra-toggle.")
- (quote (keymap (113 . hydra-toggle/nil)
- (97 . hydra-toggle/abbrev-mode-and-exit)
- (102 . hydra-toggle/auto-fill-mode-and-exit)
- (116 . hydra-toggle/toggle-truncate-lines-and-exit)
- (kp-subtract . hydra--negative-argument)
- (kp-9 . hydra--digit-argument)
- (kp-8 . hydra--digit-argument)
- (kp-7 . hydra--digit-argument)
- (kp-6 . hydra--digit-argument)
- (kp-5 . hydra--digit-argument)
- (kp-4 . hydra--digit-argument)
- (kp-3 . hydra--digit-argument)
- (kp-2 . hydra--digit-argument)
- (kp-1 . hydra--digit-argument)
- (kp-0 . hydra--digit-argument)
- (57 . hydra--digit-argument)
- (56 . hydra--digit-argument)
- (55 . hydra--digit-argument)
- (54 . hydra--digit-argument)
- (53 . hydra--digit-argument)
- (52 . hydra--digit-argument)
- (51 . hydra--digit-argument)
- (50 . hydra--digit-argument)
- (49 . hydra--digit-argument)
- (48 . hydra--digit-argument)
- (45 . hydra--negative-argument)
- (21 . hydra--universal-argument))))
+ (quote
+ (keymap
+ (113 . hydra-toggle/nil)
+ (97 . hydra-toggle/abbrev-mode-and-exit)
+ (102 . hydra-toggle/auto-fill-mode-and-exit)
+ (116 . hydra-toggle/toggle-truncate-lines-and-exit)
+ (kp-subtract . hydra--negative-argument)
+ (kp-9 . hydra--digit-argument)
+ (kp-8 . hydra--digit-argument)
+ (kp-7 . hydra--digit-argument)
+ (kp-6 . hydra--digit-argument)
+ (kp-5 . hydra--digit-argument)
+ (kp-4 . hydra--digit-argument)
+ (kp-3 . hydra--digit-argument)
+ (kp-2 . hydra--digit-argument)
+ (kp-1 . hydra--digit-argument)
+ (kp-0 . hydra--digit-argument)
+ (57 . hydra--digit-argument)
+ (56 . hydra--digit-argument)
+ (55 . hydra--digit-argument)
+ (54 . hydra--digit-argument)
+ (53 . hydra--digit-argument)
+ (52 . hydra--digit-argument)
+ (51 . hydra--digit-argument)
+ (50 . hydra--digit-argument)
+ (49 . hydra--digit-argument)
+ (48 . hydra--digit-argument)
+ (45 . hydra--negative-argument)
+ (21 . hydra--universal-argument))))
(defun hydra-toggle/toggle-truncate-lines-and-exit nil
"Create a hydra with no body and the heads:
@@ -307,22 +321,16 @@ Call the head: `nil'."
(hydra-default-pre)
(hydra-keyboard-quit)
nil)
- (defun hydra-toggle/hint nil
- (if hydra-lv
- (lv-message
- (format
- #("toggle: [t]: truncate, [f]: fill, [a]: abbrev, [q]: cancel."
- 9 10 (face hydra-face-blue)
- 24 25 (face hydra-face-blue)
- 35 36 (face hydra-face-blue)
- 48 49 (face hydra-face-blue))))
- (message
- (format
- #("toggle: [t]: truncate, [f]: fill, [a]: abbrev, [q]: cancel."
- 9 10 (face hydra-face-blue)
- 24 25 (face hydra-face-blue)
- 35 36 (face hydra-face-blue)
- 48 49 (face hydra-face-blue))))))
+ (set
+ (defvar hydra-toggle/hint nil
+ "Dynamic hint for hydra-toggle.")
+ (quote
+ (format
+ #("toggle: [t]: truncate, [f]: fill, [a]: abbrev, [q]: cancel."
+ 9 10 (face hydra-face-blue)
+ 24 25 (face hydra-face-blue)
+ 35 36 (face hydra-face-blue)
+ 48 49 (face hydra-face-blue)))))
(defun hydra-toggle/body nil
"Create a hydra with no body and the heads:
@@ -335,7 +343,11 @@ The body can be accessed via `hydra-toggle/body'."
(interactive)
(hydra-default-pre)
(when hydra-is-helpful
- (hydra-toggle/hint))
+ (if hydra-lv
+ (lv-message
+ (eval hydra-toggle/hint))
+ (message
+ (eval hydra-toggle/hint))))
(hydra-set-transient-map
hydra-toggle/keymap
(lambda nil
@@ -363,32 +375,34 @@ The body can be accessed via `hydra-toggle/body'."
(set
(defvar hydra-vi/keymap nil
"Keymap for hydra-vi.")
- (quote (keymap (113 . hydra-vi/nil)
- (107 . hydra-vi/previous-line)
- (106 . hydra-vi/next-line)
- (kp-subtract . hydra--negative-argument)
- (kp-9 . hydra--digit-argument)
- (kp-8 . hydra--digit-argument)
- (kp-7 . hydra--digit-argument)
- (kp-6 . hydra--digit-argument)
- (kp-5 . hydra--digit-argument)
- (kp-4 . hydra--digit-argument)
- (kp-3 . hydra--digit-argument)
- (kp-2 . hydra--digit-argument)
- (kp-1 . hydra--digit-argument)
- (kp-0 . hydra--digit-argument)
- (57 . hydra--digit-argument)
- (56 . hydra--digit-argument)
- (55 . hydra--digit-argument)
- (54 . hydra--digit-argument)
- (53 . hydra--digit-argument)
- (52 . hydra--digit-argument)
- (51 . hydra--digit-argument)
- (50 . hydra--digit-argument)
- (49 . hydra--digit-argument)
- (48 . hydra--digit-argument)
- (45 . hydra--negative-argument)
- (21 . hydra--universal-argument))))
+ (quote
+ (keymap
+ (113 . hydra-vi/nil)
+ (107 . hydra-vi/previous-line)
+ (106 . hydra-vi/next-line)
+ (kp-subtract . hydra--negative-argument)
+ (kp-9 . hydra--digit-argument)
+ (kp-8 . hydra--digit-argument)
+ (kp-7 . hydra--digit-argument)
+ (kp-6 . hydra--digit-argument)
+ (kp-5 . hydra--digit-argument)
+ (kp-4 . hydra--digit-argument)
+ (kp-3 . hydra--digit-argument)
+ (kp-2 . hydra--digit-argument)
+ (kp-1 . hydra--digit-argument)
+ (kp-0 . hydra--digit-argument)
+ (57 . hydra--digit-argument)
+ (56 . hydra--digit-argument)
+ (55 . hydra--digit-argument)
+ (54 . hydra--digit-argument)
+ (53 . hydra--digit-argument)
+ (52 . hydra--digit-argument)
+ (51 . hydra--digit-argument)
+ (50 . hydra--digit-argument)
+ (49 . hydra--digit-argument)
+ (48 . hydra--digit-argument)
+ (45 . hydra--negative-argument)
+ (21 . hydra--universal-argument))))
(defun hydra-vi/next-line nil
"Create a hydra with no body and the heads:
@@ -409,7 +423,10 @@ Call the head: `next-line'."
(message "%S" err)
(unless hydra-lv (sit-for 0.8))))
(when hydra-is-helpful
- (hydra-vi/hint))
+ (if hydra-lv
+ (lv-message
+ (eval hydra-vi/hint))
+ (message (eval hydra-vi/hint))))
(hydra-set-transient-map
hydra-vi/keymap
(lambda nil
@@ -436,7 +453,10 @@ Call the head: `previous-line'."
(message "%S" err)
(unless hydra-lv (sit-for 0.8))))
(when hydra-is-helpful
- (hydra-vi/hint))
+ (if hydra-lv
+ (lv-message
+ (eval hydra-vi/hint))
+ (message (eval hydra-vi/hint))))
(hydra-set-transient-map
hydra-vi/keymap
(lambda nil
@@ -458,20 +478,15 @@ Call the head: `nil'."
(set-cursor-color "#e52b50")
(hydra-keyboard-quit)
nil)
- (defun hydra-vi/hint nil
- (if hydra-lv
- (lv-message
- (format
- #("vi: j, k, [q]: quit."
- 4 5 (face hydra-face-amaranth)
- 7 8 (face hydra-face-amaranth)
- 11 12 (face hydra-face-blue))))
- (message
- (format
- #("vi: j, k, [q]: quit."
- 4 5 (face hydra-face-amaranth)
- 7 8 (face hydra-face-amaranth)
- 11 12 (face hydra-face-blue))))))
+ (set
+ (defvar hydra-vi/hint nil
+ "Dynamic hint for hydra-vi.")
+ (quote
+ (format
+ #("vi: j, k, [q]: quit."
+ 4 5 (face hydra-face-amaranth)
+ 7 8 (face hydra-face-amaranth)
+ 11 12 (face hydra-face-blue)))))
(defun hydra-vi/body nil
"Create a hydra with no body and the heads:
@@ -484,7 +499,10 @@ The body can be accessed via `hydra-vi/body'."
(hydra-default-pre)
(set-cursor-color "#e52b50")
(when hydra-is-helpful
- (hydra-vi/hint))
+ (if hydra-lv
+ (lv-message
+ (eval hydra-vi/hint))
+ (message (eval hydra-vi/hint))))
(hydra-set-transient-map
hydra-vi/keymap
(lambda nil
@@ -507,30 +525,32 @@ The body can be accessed via `hydra-vi/body'."
(set
(defvar hydra-zoom/keymap nil
"Keymap for hydra-zoom.")
- (quote (keymap (114 . hydra-zoom/lambda-r)
- (kp-subtract . hydra--negative-argument)
- (kp-9 . hydra--digit-argument)
- (kp-8 . hydra--digit-argument)
- (kp-7 . hydra--digit-argument)
- (kp-6 . hydra--digit-argument)
- (kp-5 . hydra--digit-argument)
- (kp-4 . hydra--digit-argument)
- (kp-3 . hydra--digit-argument)
- (kp-2 . hydra--digit-argument)
- (kp-1 . hydra--digit-argument)
- (kp-0 . hydra--digit-argument)
- (57 . hydra--digit-argument)
- (56 . hydra--digit-argument)
- (55 . hydra--digit-argument)
- (54 . hydra--digit-argument)
- (53 . hydra--digit-argument)
- (52 . hydra--digit-argument)
- (51 . hydra--digit-argument)
- (50 . hydra--digit-argument)
- (49 . hydra-zoom/lambda-0-and-exit)
- (48 . hydra-zoom/lambda-0-and-exit)
- (45 . hydra--negative-argument)
- (21 . hydra--universal-argument))))
+ (quote
+ (keymap
+ (114 . hydra-zoom/lambda-r)
+ (kp-subtract . hydra--negative-argument)
+ (kp-9 . hydra--digit-argument)
+ (kp-8 . hydra--digit-argument)
+ (kp-7 . hydra--digit-argument)
+ (kp-6 . hydra--digit-argument)
+ (kp-5 . hydra--digit-argument)
+ (kp-4 . hydra--digit-argument)
+ (kp-3 . hydra--digit-argument)
+ (kp-2 . hydra--digit-argument)
+ (kp-1 . hydra--digit-argument)
+ (kp-0 . hydra--digit-argument)
+ (57 . hydra--digit-argument)
+ (56 . hydra--digit-argument)
+ (55 . hydra--digit-argument)
+ (54 . hydra--digit-argument)
+ (53 . hydra--digit-argument)
+ (52 . hydra--digit-argument)
+ (51 . hydra--digit-argument)
+ (50 . hydra--digit-argument)
+ (49 . hydra-zoom/lambda-0-and-exit)
+ (48 . hydra-zoom/lambda-0-and-exit)
+ (45 . hydra--negative-argument)
+ (21 . hydra--universal-argument))))
(defun hydra-zoom/lambda-r nil
"Create a hydra with no body and the heads:
@@ -553,7 +573,11 @@ Call the head: `(text-scale-set 0)'."
(message "%S" err)
(unless hydra-lv (sit-for 0.8))))
(when hydra-is-helpful
- (hydra-zoom/hint))
+ (if hydra-lv
+ (lv-message
+ (eval hydra-zoom/hint))
+ (message
+ (eval hydra-zoom/hint))))
(hydra-set-transient-map
hydra-zoom/keymap
(lambda nil
@@ -578,18 +602,14 @@ Call the head: `(text-scale-set 0)'."
(lambda nil
(interactive)
(text-scale-set 0)))))
- (defun hydra-zoom/hint nil
- (if hydra-lv
- (lv-message
- (format
- #("zoom: [r 0]: reset."
- 7 8 (face hydra-face-red)
- 9 10 (face hydra-face-blue))))
- (message
- (format
- #("zoom: [r 0]: reset."
- 7 8 (face hydra-face-red)
- 9 10 (face hydra-face-blue))))))
+ (set
+ (defvar hydra-zoom/hint nil
+ "Dynamic hint for hydra-zoom.")
+ (quote
+ (format
+ #("zoom: [r 0]: reset."
+ 7 8 (face hydra-face-red)
+ 9 10 (face hydra-face-blue)))))
(defun hydra-zoom/body nil
"Create a hydra with no body and the heads:
@@ -601,7 +621,11 @@ The body can be accessed via `hydra-zoom/body'."
(interactive)
(hydra-default-pre)
(when hydra-is-helpful
- (hydra-zoom/hint))
+ (if hydra-lv
+ (lv-message
+ (eval hydra-zoom/hint))
+ (message
+ (eval hydra-zoom/hint))))
(hydra-set-transient-map
hydra-zoom/keymap
(lambda nil
@@ -624,30 +648,32 @@ The body can be accessed via `hydra-zoom/body'."
(set
(defvar hydra-zoom/keymap nil
"Keymap for hydra-zoom.")
- (quote (keymap (114 . hydra-zoom/lambda-r)
- (kp-subtract . hydra--negative-argument)
- (kp-9 . hydra--digit-argument)
- (kp-8 . hydra--digit-argument)
- (kp-7 . hydra--digit-argument)
- (kp-6 . hydra--digit-argument)
- (kp-5 . hydra--digit-argument)
- (kp-4 . hydra--digit-argument)
- (kp-3 . hydra--digit-argument)
- (kp-2 . hydra--digit-argument)
- (kp-1 . hydra--digit-argument)
- (kp-0 . hydra--digit-argument)
- (57 . hydra--digit-argument)
- (56 . hydra--digit-argument)
- (55 . hydra--digit-argument)
- (54 . hydra--digit-argument)
- (53 . hydra--digit-argument)
- (52 . hydra--digit-argument)
- (51 . hydra--digit-argument)
- (50 . hydra--digit-argument)
- (49 . hydra-zoom/lambda-r)
- (48 . hydra-zoom/lambda-0-and-exit)
- (45 . hydra--negative-argument)
- (21 . hydra--universal-argument))))
+ (quote
+ (keymap
+ (114 . hydra-zoom/lambda-r)
+ (kp-subtract . hydra--negative-argument)
+ (kp-9 . hydra--digit-argument)
+ (kp-8 . hydra--digit-argument)
+ (kp-7 . hydra--digit-argument)
+ (kp-6 . hydra--digit-argument)
+ (kp-5 . hydra--digit-argument)
+ (kp-4 . hydra--digit-argument)
+ (kp-3 . hydra--digit-argument)
+ (kp-2 . hydra--digit-argument)
+ (kp-1 . hydra--digit-argument)
+ (kp-0 . hydra--digit-argument)
+ (57 . hydra--digit-argument)
+ (56 . hydra--digit-argument)
+ (55 . hydra--digit-argument)
+ (54 . hydra--digit-argument)
+ (53 . hydra--digit-argument)
+ (52 . hydra--digit-argument)
+ (51 . hydra--digit-argument)
+ (50 . hydra--digit-argument)
+ (49 . hydra-zoom/lambda-r)
+ (48 . hydra-zoom/lambda-0-and-exit)
+ (45 . hydra--negative-argument)
+ (21 . hydra--universal-argument))))
(defun hydra-zoom/lambda-r nil
"Create a hydra with no body and the heads:
@@ -670,7 +696,11 @@ Call the head: `(text-scale-set 0)'."
(message "%S" err)
(unless hydra-lv (sit-for 0.8))))
(when hydra-is-helpful
- (hydra-zoom/hint))
+ (if hydra-lv
+ (lv-message
+ (eval hydra-zoom/hint))
+ (message
+ (eval hydra-zoom/hint))))
(hydra-set-transient-map
hydra-zoom/keymap
(lambda nil
@@ -695,18 +725,14 @@ Call the head: `(text-scale-set 0)'."
(lambda nil
(interactive)
(text-scale-set 0)))))
- (defun hydra-zoom/hint nil
- (if hydra-lv
- (lv-message
- (format
- #("zoom: [r 0]: reset."
- 7 8 (face hydra-face-red)
- 9 10 (face hydra-face-blue))))
- (message
- (format
- #("zoom: [r 0]: reset."
- 7 8 (face hydra-face-red)
- 9 10 (face hydra-face-blue))))))
+ (set
+ (defvar hydra-zoom/hint nil
+ "Dynamic hint for hydra-zoom.")
+ (quote
+ (format
+ #("zoom: [r 0]: reset."
+ 7 8 (face hydra-face-red)
+ 9 10 (face hydra-face-blue)))))
(defun hydra-zoom/body nil
"Create a hydra with no body and the heads:
@@ -718,7 +744,11 @@ The body can be accessed via `hydra-zoom/body'."
(interactive)
(hydra-default-pre)
(when hydra-is-helpful
- (hydra-zoom/hint))
+ (if hydra-lv
+ (lv-message
+ (eval hydra-zoom/hint))
+ (message
+ (eval hydra-zoom/hint))))
(hydra-set-transient-map
hydra-zoom/keymap
(lambda nil
diff --git a/hydra.el b/hydra.el
index 3dd7459..66a8f26 100644
--- a/hydra.el
+++ b/hydra.el
@@ -520,15 +520,6 @@ The expressions can be auto-expanded according to NAME."
,rest)
`(format ,(concat docstring ": " rest ".")))))
-(defun hydra--message (name body docstring heads)
- "Generate code to display the hint in the preferred echo area.
-Set `hydra-lv' to choose the echo area.
-NAME, BODY, DOCSTRING, and HEADS are parameters of `defhydra'."
- (let ((format-expr (hydra--format name body docstring heads)))
- `(if hydra-lv
- (lv-message ,format-expr)
- (message ,format-expr))))
-
(defun hydra--complain (format-string &rest args)
"Forward to (`message' FORMAT-STRING ARGS) unless `hydra-verbose' is nil."
(when hydra-verbose
@@ -594,7 +585,9 @@ BODY-AFTER-EXIT is added to the end of the wrapper."
(unless hydra-lv
(sit-for 0.8)))))
(when hydra-is-helpful
- (,hint))
+ (if hydra-lv
+ (lv-message (eval ,hint))
+ (message (eval ,hint))))
(hydra-set-transient-map
,keymap
(lambda () (hydra-keyboard-quit) ,body-before-exit)
@@ -905,8 +898,10 @@ result of `defhydra'."
(t
(error "Invalid :bind property `%S' for
head %S" bind head)))))))
heads))
- (defun ,(intern (format "%S/hint" name)) ()
- ,(hydra--message name body docstring heads))
+ (set
+ (defvar ,(intern (format "%S/hint" name)) nil
+ ,(format "Dynamic hint for %S." name))
+ ',(hydra--format name body docstring heads))
,(hydra--make-defun
name body doc '(nil body)
keymap-name
- [elpa] master fa5643f 15/45: Quit Hydra for `handle-switch-frame', (continued)
- [elpa] master fa5643f 15/45: Quit Hydra for `handle-switch-frame', Oleh Krehel, 2015/04/16
- [elpa] master af39a98 14/45: Adapt to the new `hydra-set-transient-map', Oleh Krehel, 2015/04/16
- [elpa] master acdec5b 27/45: Add an integration test for digit args in amaranth, Oleh Krehel, 2015/04/16
- [elpa] master 1a54e09 05/45: hydra.el (hydra--make-funcall): Update location, Oleh Krehel, 2015/04/16
- [elpa] master b351b7c 24/45: hydra.el (hydra--body-color): Remove, Oleh Krehel, 2015/04/16
- [elpa] master 5787a4d 13/45: Move away from setting "t" in keymaps, Oleh Krehel, 2015/04/16
- [elpa] master 5379642 06/45: Use `hydra-keyboard-quit' instead of `hydra-cleanup', Oleh Krehel, 2015/04/16
- [elpa] master e88839c 17/45: Don't double-call :post, Oleh Krehel, 2015/04/16
- [elpa] master 2f07e50 26/45: Account for digit argument, Oleh Krehel, 2015/04/16
- [elpa] master 8875bf1 28/45: Make digit and negative arguments work in 24.3, Oleh Krehel, 2015/04/16
- [elpa] master 0ae639f 22/45: Use a variable instead of a function for the hint,
Oleh Krehel <=
- [elpa] master d71386b 29/45: hydra.el (hydra--head-color): Simplify, Oleh Krehel, 2015/04/16
- [elpa] master 22348d7 23/45: hydra.el (hydra--face): Remove, Oleh Krehel, 2015/04/16
- [elpa] master 88f14a0 30/45: hydra.el (hydra--head-color): Remove, Oleh Krehel, 2015/04/16
- [elpa] master cb630df 16/45: Update the tests for the new `hydra-set-transient-map', Oleh Krehel, 2015/04/16
- [elpa] master 566aab7 31/45: Set `this-command' when appropriate, Oleh Krehel, 2015/04/16
- [elpa] master 19cc1be 21/45: Use `unwind-protect' for :after-exit, Oleh Krehel, 2015/04/16
- [elpa] master 986226f 18/45: Simplify `keyboard-quit', Oleh Krehel, 2015/04/16
- [elpa] master 51e7753 19/45: Alias :post to :before-exit, and add :after-exit, Oleh Krehel, 2015/04/16
- [elpa] master 3d7d8c7 20/45: Add basic error handling, Oleh Krehel, 2015/04/16
- [elpa] master 684f8a2 39/45: Add integration test for red hydras temporarily exiting, Oleh Krehel, 2015/04/16