[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master cb630df 16/45: Update the tests for the new `hydra-set-tra
From: |
Oleh Krehel |
Subject: |
[elpa] master cb630df 16/45: Update the tests for the new `hydra-set-transient-map' |
Date: |
Thu, 16 Apr 2015 12:45:45 +0000 |
branch: master
commit cb630dfacc7632a79e406344c61ede43aafad660
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>
Update the tests for the new `hydra-set-transient-map'
* hydra-test.el (hydra-red-error): Update.
(hydra-blue-toggle): Update.
(hydra-amaranth-vi): Update.
(hydra-zoom-duplicate-1): Update.
(hydra-zoom-duplicate-2): Update.
Re #90
---
hydra-test.el | 855 +++++++++++++++++++++++++++++++++------------------------
1 files changed, 489 insertions(+), 366 deletions(-)
diff --git a/hydra-test.el b/hydra-test.el
index 2dd5883..d079451 100644
--- a/hydra-test.el
+++ b/hydra-test.el
@@ -38,13 +38,14 @@
("k" previous-error "prev")
("SPC" hydra-repeat "rep" :bind nil)))
'(progn
- (set (defvar hydra-error/keymap nil "Keymap for hydra-error.")
- (quote (keymap (7 . hydra-keyboard-quit)
- (32 . hydra-repeat)
+ (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)
- (switch-frame . hydra--handle-switch-frame)
+ (7 . hydra-keyboard-quit)
(kp-subtract . hydra--negative-argument)
(kp-9 . hydra--digit-argument)
(kp-8 . hydra--digit-argument)
@@ -68,7 +69,8 @@
(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:
+ (defun hydra-error/first-error nil
+ "Create a hydra with a \"M-g\" body and the heads:
\"h\": `first-error',
\"j\": `next-error',
@@ -78,18 +80,24 @@
The body can be accessed via `hydra-error/body'.
Call the head: `first-error'."
- (interactive)
- (hydra-default-pre)
- (hydra-disable)
- (catch (quote hydra-disable)
- (condition-case err (call-interactively (function first-error))
- ((quit error)
- (message "%S" err)
- (unless hydra-lv (sit-for 0.8))))
- (when hydra-is-helpful (hydra-error/hint))
- (setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-error/keymap)
- t (lambda nil
(hydra-keyboard-quit))))))
- (defun hydra-error/next-error nil "Create a hydra with a \"M-g\" body
and the heads:
+ (interactive)
+ (hydra-default-pre)
+ (condition-case err
+ (call-interactively
+ (function first-error))
+ ((quit error)
+ (message "%S" err)
+ (unless hydra-lv (sit-for 0.8))))
+ (when hydra-is-helpful
+ (hydra-error/hint))
+ (hydra-set-transient-map
+ hydra-error/keymap
+ (lambda nil
+ (hydra-keyboard-quit)
+ nil)
+ nil))
+ (defun hydra-error/next-error nil
+ "Create a hydra with a \"M-g\" body and the heads:
\"h\": `first-error',
\"j\": `next-error',
@@ -99,18 +107,24 @@ Call the head: `first-error'."
The body can be accessed via `hydra-error/body'.
Call the head: `next-error'."
- (interactive)
- (hydra-default-pre)
- (hydra-disable)
- (catch (quote hydra-disable)
- (condition-case err (call-interactively (function next-error))
- ((quit error)
- (message "%S" err)
- (unless hydra-lv (sit-for 0.8))))
- (when hydra-is-helpful (hydra-error/hint))
- (setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-error/keymap)
- t (lambda nil
(hydra-keyboard-quit))))))
- (defun hydra-error/previous-error nil "Create a hydra with a \"M-g\"
body and the heads:
+ (interactive)
+ (hydra-default-pre)
+ (condition-case err
+ (call-interactively
+ (function next-error))
+ ((quit error)
+ (message "%S" err)
+ (unless hydra-lv (sit-for 0.8))))
+ (when hydra-is-helpful
+ (hydra-error/hint))
+ (hydra-set-transient-map
+ hydra-error/keymap
+ (lambda nil
+ (hydra-keyboard-quit)
+ nil)
+ nil))
+ (defun hydra-error/previous-error nil
+ "Create a hydra with a \"M-g\" body and the heads:
\"h\": `first-error',
\"j\": `next-error',
@@ -120,36 +134,55 @@ Call the head: `next-error'."
The body can be accessed via `hydra-error/body'.
Call the head: `previous-error'."
- (interactive)
- (hydra-default-pre)
- (hydra-disable)
- (catch (quote hydra-disable)
- (condition-case err (call-interactively (function
previous-error))
- ((quit error)
- (message "%S" err)
- (unless hydra-lv (sit-for 0.8))))
- (when hydra-is-helpful (hydra-error/hint))
- (setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-error/keymap)
- t (lambda nil
(hydra-keyboard-quit))))))
- (unless (keymapp (lookup-key global-map (kbd "M-g")))
+ (interactive)
+ (hydra-default-pre)
+ (condition-case err
+ (call-interactively
+ (function previous-error))
+ ((quit error)
+ (message "%S" err)
+ (unless hydra-lv (sit-for 0.8))))
+ (when hydra-is-helpful
+ (hydra-error/hint))
+ (hydra-set-transient-map
+ hydra-error/keymap
+ (lambda nil
+ (hydra-keyboard-quit)
+ nil)
+ nil))
+ (unless (keymapp
+ (lookup-key
+ global-map
+ (kbd "M-g")))
(define-key global-map (kbd "M-g")
nil))
(define-key global-map [134217831 104]
- (function hydra-error/first-error))
+ (function
+ hydra-error/first-error))
(define-key global-map [134217831 106]
- (function hydra-error/next-error))
+ (function
+ hydra-error/next-error))
(define-key global-map [134217831 107]
- (function hydra-error/previous-error))
+ (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))))))
- (defun hydra-error/body nil "Create a hydra with a \"M-g\" body and the
heads:
+ (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))))))
+ (defun hydra-error/body nil
+ "Create a hydra with a \"M-g\" body and the heads:
\"h\": `first-error',
\"j\": `next-error',
@@ -157,14 +190,18 @@ Call the head: `previous-error'."
\"SPC\": `hydra-repeat'
The body can be accessed via `hydra-error/body'."
- (interactive)
- (hydra-default-pre)
- (hydra-disable)
- (catch (quote hydra-disable)
- (when hydra-is-helpful (hydra-error/hint))
- (setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-error/keymap)
- t (lambda nil
(hydra-keyboard-quit))))
- (setq prefix-arg current-prefix-arg)))))))
+ (interactive)
+ (hydra-default-pre)
+ (when hydra-is-helpful
+ (hydra-error/hint))
+ (hydra-set-transient-map
+ hydra-error/keymap
+ (lambda nil
+ (hydra-keyboard-quit)
+ nil)
+ nil)
+ (setq prefix-arg
+ current-prefix-arg))))))
(ert-deftest hydra-blue-toggle ()
(should
@@ -177,13 +214,14 @@ The body can be accessed via `hydra-error/body'."
("a" abbrev-mode "abbrev")
("q" nil "cancel")))
'(progn
- (set (defvar hydra-toggle/keymap nil "Keymap for hydra-toggle.")
- (quote (keymap (7 . hydra-keyboard-quit)
- (113 . hydra-toggle/nil)
+ (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)
- (switch-frame . hydra--handle-switch-frame)
+ (7 . hydra-keyboard-quit)
(kp-subtract . hydra--negative-argument)
(kp-9 . hydra--digit-argument)
(kp-8 . hydra--digit-argument)
@@ -207,7 +245,8 @@ The body can be accessed via `hydra-error/body'."
(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:
+ (defun hydra-toggle/toggle-truncate-lines-and-exit nil
+ "Create a hydra with no body and the heads:
\"t\": `toggle-truncate-lines',
\"f\": `auto-fill-mode',
@@ -217,13 +256,15 @@ The body can be accessed via `hydra-error/body'."
The body can be accessed via `hydra-toggle/body'.
Call the head: `toggle-truncate-lines'."
- (interactive)
- (hydra-default-pre)
- (hydra-disable)
- (hydra-keyboard-quit)
- (catch (quote hydra-disable)
- (call-interactively (function toggle-truncate-lines))))
- (defun hydra-toggle/auto-fill-mode-and-exit nil "Create a hydra with no
body and the heads:
+ (interactive)
+ (hydra-default-pre)
+ (hydra-keyboard-quit)
+ (call-interactively
+ (function
+ toggle-truncate-lines))
+ nil)
+ (defun hydra-toggle/auto-fill-mode-and-exit nil
+ "Create a hydra with no body and the heads:
\"t\": `toggle-truncate-lines',
\"f\": `auto-fill-mode',
@@ -233,13 +274,14 @@ Call the head: `toggle-truncate-lines'."
The body can be accessed via `hydra-toggle/body'.
Call the head: `auto-fill-mode'."
- (interactive)
- (hydra-default-pre)
- (hydra-disable)
- (hydra-keyboard-quit)
- (catch (quote hydra-disable)
- (call-interactively (function auto-fill-mode))))
- (defun hydra-toggle/abbrev-mode-and-exit nil "Create a hydra with no
body and the heads:
+ (interactive)
+ (hydra-default-pre)
+ (hydra-keyboard-quit)
+ (call-interactively
+ (function auto-fill-mode))
+ nil)
+ (defun hydra-toggle/abbrev-mode-and-exit nil
+ "Create a hydra with no body and the heads:
\"t\": `toggle-truncate-lines',
\"f\": `auto-fill-mode',
@@ -249,13 +291,14 @@ Call the head: `auto-fill-mode'."
The body can be accessed via `hydra-toggle/body'.
Call the head: `abbrev-mode'."
- (interactive)
- (hydra-default-pre)
- (hydra-disable)
- (hydra-keyboard-quit)
- (catch (quote hydra-disable)
- (call-interactively (function abbrev-mode))))
- (defun hydra-toggle/nil nil "Create a hydra with no body and the heads:
+ (interactive)
+ (hydra-default-pre)
+ (hydra-keyboard-quit)
+ (call-interactively
+ (function abbrev-mode))
+ nil)
+ (defun hydra-toggle/nil nil
+ "Create a hydra with no body and the heads:
\"t\": `toggle-truncate-lines',
\"f\": `auto-fill-mode',
@@ -265,21 +308,29 @@ Call the head: `abbrev-mode'."
The body can be accessed via `hydra-toggle/body'.
Call the head: `nil'."
- (interactive)
- (hydra-default-pre)
- (hydra-disable)
- (hydra-keyboard-quit)
- (catch (quote hydra-disable)))
+ (interactive)
+ (hydra-default-pre)
+ (hydra-keyboard-quit)
+ nil
+ 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))))))
- (defun hydra-toggle/body nil "Create a hydra with no body and the heads:
+ (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))))))
+ (defun hydra-toggle/body nil
+ "Create a hydra with no body and the heads:
\"t\": `toggle-truncate-lines',
\"f\": `auto-fill-mode',
@@ -287,14 +338,18 @@ Call the head: `nil'."
\"q\": `nil'
The body can be accessed via `hydra-toggle/body'."
- (interactive)
- (hydra-default-pre)
- (hydra-disable)
- (catch (quote hydra-disable)
- (when hydra-is-helpful (hydra-toggle/hint))
- (setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-toggle/keymap)
- t (lambda nil
(hydra-keyboard-quit))))
- (setq prefix-arg current-prefix-arg)))))))
+ (interactive)
+ (hydra-default-pre)
+ (when hydra-is-helpful
+ (hydra-toggle/hint))
+ (hydra-set-transient-map
+ hydra-toggle/keymap
+ (lambda nil
+ (hydra-keyboard-quit)
+ nil)
+ nil)
+ (setq prefix-arg
+ current-prefix-arg))))))
(ert-deftest hydra-amaranth-vi ()
(should
@@ -311,17 +366,13 @@ The body can be accessed via `hydra-toggle/body'."
("k" previous-line)
("q" nil "quit")))
'(progn
- (set (defvar hydra-vi/keymap nil "Keymap for hydra-vi.")
- (quote (keymap (t lambda nil (interactive)
- (message "An amaranth Hydra can only exit through a
blue head")
- (hydra-set-transient-map hydra-curr-map t)
- (when hydra-is-helpful (unless hydra-lv (sit-for 0.8))
- (hydra-vi/hint)))
- (113 . hydra-vi/nil)
+ (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)
(7 . hydra-vi/hydra-keyboard-quit-and-exit)
- (switch-frame . hydra--handle-switch-frame)
(kp-subtract . hydra--negative-argument)
(kp-9 . hydra--digit-argument)
(kp-8 . hydra--digit-argument)
@@ -345,7 +396,8 @@ The body can be accessed via `hydra-toggle/body'."
(48 . hydra--digit-argument)
(45 . hydra--negative-argument)
(21 . hydra--universal-argument))))
- (defun hydra-vi/hydra-keyboard-quit-and-exit nil "Create a hydra with no
body and the heads:
+ (defun hydra-vi/hydra-keyboard-quit-and-exit nil
+ "Create a hydra with no body and the heads:
\"\": `hydra-keyboard-quit',
\"j\": `next-line',
@@ -355,15 +407,15 @@ The body can be accessed via `hydra-toggle/body'."
The body can be accessed via `hydra-vi/body'.
Call the head: `hydra-keyboard-quit'."
- (interactive)
- (hydra-default-pre)
- (set-cursor-color "#e52b50")
- (hydra-disable)
- (hydra-keyboard-quit)
- (catch (quote hydra-disable)
- (call-interactively (function hydra-keyboard-quit))
- (set-cursor-color "#ffffff")))
- (defun hydra-vi/next-line nil "Create a hydra with no body and the heads:
+ (interactive)
+ (hydra-default-pre)
+ (set-cursor-color "#e52b50")
+ (hydra-keyboard-quit)
+ (call-interactively
+ (function hydra-keyboard-quit))
+ (set-cursor-color "#ffffff"))
+ (defun hydra-vi/next-line nil
+ "Create a hydra with no body and the heads:
\"\": `hydra-keyboard-quit',
\"j\": `next-line',
@@ -373,19 +425,25 @@ Call the head: `hydra-keyboard-quit'."
The body can be accessed via `hydra-vi/body'.
Call the head: `next-line'."
- (interactive)
- (hydra-default-pre)
- (set-cursor-color "#e52b50")
- (hydra-disable)
- (catch (quote hydra-disable)
- (condition-case err (call-interactively (function next-line))
- ((quit error)
- (message "%S" err)
- (unless hydra-lv (sit-for 0.8))))
- (when hydra-is-helpful (hydra-vi/hint))
- (setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-vi/keymap)
- t (lambda nil
(hydra-keyboard-quit))))))
- (defun hydra-vi/previous-line nil "Create a hydra with no body and the
heads:
+ (interactive)
+ (hydra-default-pre)
+ (set-cursor-color "#e52b50")
+ (condition-case err
+ (call-interactively
+ (function next-line))
+ ((quit error)
+ (message "%S" err)
+ (unless hydra-lv (sit-for 0.8))))
+ (when hydra-is-helpful
+ (hydra-vi/hint))
+ (hydra-set-transient-map
+ hydra-vi/keymap
+ (lambda nil
+ (hydra-keyboard-quit)
+ (set-cursor-color "#ffffff"))
+ (quote warn)))
+ (defun hydra-vi/previous-line nil
+ "Create a hydra with no body and the heads:
\"\": `hydra-keyboard-quit',
\"j\": `next-line',
@@ -395,19 +453,25 @@ Call the head: `next-line'."
The body can be accessed via `hydra-vi/body'.
Call the head: `previous-line'."
- (interactive)
- (hydra-default-pre)
- (set-cursor-color "#e52b50")
- (hydra-disable)
- (catch (quote hydra-disable)
- (condition-case err (call-interactively (function
previous-line))
- ((quit error)
- (message "%S" err)
- (unless hydra-lv (sit-for 0.8))))
- (when hydra-is-helpful (hydra-vi/hint))
- (setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-vi/keymap)
- t (lambda nil
(hydra-keyboard-quit))))))
- (defun hydra-vi/nil nil "Create a hydra with no body and the heads:
+ (interactive)
+ (hydra-default-pre)
+ (set-cursor-color "#e52b50")
+ (condition-case err
+ (call-interactively
+ (function previous-line))
+ ((quit error)
+ (message "%S" err)
+ (unless hydra-lv (sit-for 0.8))))
+ (when hydra-is-helpful
+ (hydra-vi/hint))
+ (hydra-set-transient-map
+ hydra-vi/keymap
+ (lambda nil
+ (hydra-keyboard-quit)
+ (set-cursor-color "#ffffff"))
+ (quote warn)))
+ (defun hydra-vi/nil nil
+ "Create a hydra with no body and the heads:
\"\": `hydra-keyboard-quit',
\"j\": `next-line',
@@ -417,21 +481,28 @@ Call the head: `previous-line'."
The body can be accessed via `hydra-vi/body'.
Call the head: `nil'."
- (interactive)
- (hydra-default-pre)
- (set-cursor-color "#e52b50")
- (hydra-disable)
- (hydra-keyboard-quit)
- (catch (quote hydra-disable)
- (set-cursor-color "#ffffff")))
+ (interactive)
+ (hydra-default-pre)
+ (set-cursor-color "#e52b50")
+ (hydra-keyboard-quit)
+ nil
+ (set-cursor-color "#ffffff"))
(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))))))
- (defun hydra-vi/body nil "Create a hydra with no body and the heads:
+ (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))))))
+ (defun hydra-vi/body nil
+ "Create a hydra with no body and the heads:
\"\": `hydra-keyboard-quit',
\"j\": `next-line',
@@ -439,15 +510,257 @@ Call the head: `nil'."
\"q\": `nil'
The body can be accessed via `hydra-vi/body'."
- (interactive)
- (hydra-default-pre)
- (set-cursor-color "#e52b50")
- (hydra-disable)
- (catch (quote hydra-disable)
- (when hydra-is-helpful (hydra-vi/hint))
- (setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-vi/keymap)
- t (lambda nil
(hydra-keyboard-quit))))
- (setq prefix-arg current-prefix-arg)))))))
+ (interactive)
+ (hydra-default-pre)
+ (set-cursor-color "#e52b50")
+ (when hydra-is-helpful
+ (hydra-vi/hint))
+ (hydra-set-transient-map
+ hydra-vi/keymap
+ (lambda nil
+ (hydra-keyboard-quit)
+ (set-cursor-color "#ffffff"))
+ (quote warn))
+ (setq prefix-arg
+ current-prefix-arg))))))
+
+(ert-deftest hydra-zoom-duplicate-1 ()
+ (should
+ (equal
+ (macroexpand
+ '(defhydra hydra-zoom ()
+ "zoom"
+ ("r" (text-scale-set 0) "reset")
+ ("0" (text-scale-set 0) :bind nil :exit t)
+ ("1" (text-scale-set 0) nil :bind nil :exit t)))
+ '(progn
+ (set
+ (defvar hydra-zoom/keymap nil
+ "Keymap for hydra-zoom.")
+ (quote (keymap (114 . hydra-zoom/lambda-r)
+ (7 . hydra-keyboard-quit)
+ (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:
+
+\"r\": `(text-scale-set 0)',
+\"0\": `(text-scale-set 0)',
+\"1\": `(text-scale-set 0)'
+
+The body can be accessed via `hydra-zoom/body'.
+
+Call the head: `(text-scale-set 0)'."
+ (interactive)
+ (hydra-default-pre)
+ (condition-case err
+ (call-interactively
+ (function
+ (lambda nil
+ (interactive)
+ (text-scale-set 0))))
+ ((quit error)
+ (message "%S" err)
+ (unless hydra-lv (sit-for 0.8))))
+ (when hydra-is-helpful
+ (hydra-zoom/hint))
+ (hydra-set-transient-map
+ hydra-zoom/keymap
+ (lambda nil
+ (hydra-keyboard-quit)
+ nil)
+ nil))
+ (defun hydra-zoom/lambda-0-and-exit nil
+ "Create a hydra with no body and the heads:
+
+\"r\": `(text-scale-set 0)',
+\"0\": `(text-scale-set 0)',
+\"1\": `(text-scale-set 0)'
+
+The body can be accessed via `hydra-zoom/body'.
+
+Call the head: `(text-scale-set 0)'."
+ (interactive)
+ (hydra-default-pre)
+ (hydra-keyboard-quit)
+ (call-interactively
+ (function
+ (lambda nil
+ (interactive)
+ (text-scale-set 0))))
+ nil)
+ (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))))))
+ (defun hydra-zoom/body nil
+ "Create a hydra with no body and the heads:
+
+\"r\": `(text-scale-set 0)',
+\"0\": `(text-scale-set 0)',
+\"1\": `(text-scale-set 0)'
+
+The body can be accessed via `hydra-zoom/body'."
+ (interactive)
+ (hydra-default-pre)
+ (when hydra-is-helpful
+ (hydra-zoom/hint))
+ (hydra-set-transient-map
+ hydra-zoom/keymap
+ (lambda nil
+ (hydra-keyboard-quit)
+ nil)
+ nil)
+ (setq prefix-arg
+ current-prefix-arg))))))
+
+(ert-deftest hydra-zoom-duplicate-2 ()
+ (should
+ (equal
+ (macroexpand
+ '(defhydra hydra-zoom ()
+ "zoom"
+ ("r" (text-scale-set 0) "reset")
+ ("0" (text-scale-set 0) :bind nil :exit t)
+ ("1" (text-scale-set 0) nil :bind nil)))
+ '(progn
+ (set
+ (defvar hydra-zoom/keymap nil
+ "Keymap for hydra-zoom.")
+ (quote (keymap (114 . hydra-zoom/lambda-r)
+ (7 . hydra-keyboard-quit)
+ (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:
+
+\"r\": `(text-scale-set 0)',
+\"0\": `(text-scale-set 0)',
+\"1\": `(text-scale-set 0)'
+
+The body can be accessed via `hydra-zoom/body'.
+
+Call the head: `(text-scale-set 0)'."
+ (interactive)
+ (hydra-default-pre)
+ (condition-case err
+ (call-interactively
+ (function
+ (lambda nil
+ (interactive)
+ (text-scale-set 0))))
+ ((quit error)
+ (message "%S" err)
+ (unless hydra-lv (sit-for 0.8))))
+ (when hydra-is-helpful
+ (hydra-zoom/hint))
+ (hydra-set-transient-map
+ hydra-zoom/keymap
+ (lambda nil
+ (hydra-keyboard-quit)
+ nil)
+ nil))
+ (defun hydra-zoom/lambda-0-and-exit nil
+ "Create a hydra with no body and the heads:
+
+\"r\": `(text-scale-set 0)',
+\"0\": `(text-scale-set 0)',
+\"1\": `(text-scale-set 0)'
+
+The body can be accessed via `hydra-zoom/body'.
+
+Call the head: `(text-scale-set 0)'."
+ (interactive)
+ (hydra-default-pre)
+ (hydra-keyboard-quit)
+ (call-interactively
+ (function
+ (lambda nil
+ (interactive)
+ (text-scale-set 0))))
+ nil)
+ (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))))))
+ (defun hydra-zoom/body nil
+ "Create a hydra with no body and the heads:
+
+\"r\": `(text-scale-set 0)',
+\"0\": `(text-scale-set 0)',
+\"1\": `(text-scale-set 0)'
+
+The body can be accessed via `hydra-zoom/body'."
+ (interactive)
+ (hydra-default-pre)
+ (when hydra-is-helpful
+ (hydra-zoom/hint))
+ (hydra-set-transient-map
+ hydra-zoom/keymap
+ (lambda nil
+ (hydra-keyboard-quit)
+ nil)
+ nil)
+ (setq prefix-arg
+ current-prefix-arg))))))
(ert-deftest defhydradio ()
(should (equal
@@ -726,196 +1039,6 @@ _f_ auto-fill-mode: %`auto-fill-function
("e" fun-e)
("f" fun-f))))))
-(ert-deftest hydra-zoom-duplicate-1 ()
- (should
- (equal
- (macroexpand
- '(defhydra hydra-zoom ()
- "zoom"
- ("r" (text-scale-set 0) "reset")
- ("0" (text-scale-set 0) :bind nil :exit t)
- ("1" (text-scale-set 0) nil :bind nil :exit t)))
- '(progn
- (set (defvar hydra-zoom/keymap nil "Keymap for hydra-zoom.")
- (quote (keymap (7 . hydra-keyboard-quit)
- (114 . hydra-zoom/lambda-r)
- (switch-frame . hydra--handle-switch-frame)
- (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:
-
-\"r\": `(text-scale-set 0)',
-\"0\": `(text-scale-set 0)',
-\"1\": `(text-scale-set 0)'
-
-The body can be accessed via `hydra-zoom/body'.
-
-Call the head: `(text-scale-set 0)'."
- (interactive)
- (hydra-default-pre)
- (hydra-disable)
- (catch (quote hydra-disable)
- (condition-case err (call-interactively (function (lambda nil
(interactive)
-
(text-scale-set 0))))
- ((quit error)
- (message "%S" err)
- (unless hydra-lv (sit-for 0.8))))
- (when hydra-is-helpful (hydra-zoom/hint))
- (setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-zoom/keymap)
- t (lambda nil
(hydra-keyboard-quit))))))
- (defun hydra-zoom/lambda-0-and-exit nil "Create a hydra with no body and
the heads:
-
-\"r\": `(text-scale-set 0)',
-\"0\": `(text-scale-set 0)',
-\"1\": `(text-scale-set 0)'
-
-The body can be accessed via `hydra-zoom/body'.
-
-Call the head: `(text-scale-set 0)'."
- (interactive)
- (hydra-default-pre)
- (hydra-disable)
- (hydra-keyboard-quit)
- (catch (quote hydra-disable)
- (call-interactively (function (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))))))
- (defun hydra-zoom/body nil "Create a hydra with no body and the heads:
-
-\"r\": `(text-scale-set 0)',
-\"0\": `(text-scale-set 0)',
-\"1\": `(text-scale-set 0)'
-
-The body can be accessed via `hydra-zoom/body'."
- (interactive)
- (hydra-default-pre)
- (hydra-disable)
- (catch (quote hydra-disable)
- (when hydra-is-helpful (hydra-zoom/hint))
- (setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-zoom/keymap)
- t (lambda nil
(hydra-keyboard-quit))))
- (setq prefix-arg current-prefix-arg)))))))
-
-(ert-deftest hydra-zoom-duplicate-2 ()
- (should
- (equal
- (macroexpand
- '(defhydra hydra-zoom ()
- "zoom"
- ("r" (text-scale-set 0) "reset")
- ("0" (text-scale-set 0) :bind nil :exit t)
- ("1" (text-scale-set 0) nil :bind nil)))
- '(progn
- (set (defvar hydra-zoom/keymap nil "Keymap for hydra-zoom.")
- (quote (keymap (7 . hydra-keyboard-quit)
- (114 . hydra-zoom/lambda-r)
- (switch-frame . hydra--handle-switch-frame)
- (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:
-
-\"r\": `(text-scale-set 0)',
-\"0\": `(text-scale-set 0)',
-\"1\": `(text-scale-set 0)'
-
-The body can be accessed via `hydra-zoom/body'.
-
-Call the head: `(text-scale-set 0)'."
- (interactive)
- (hydra-default-pre)
- (hydra-disable)
- (catch (quote hydra-disable)
- (condition-case err (call-interactively (function (lambda nil
(interactive)
-
(text-scale-set 0))))
- ((quit error)
- (message "%S" err)
- (unless hydra-lv (sit-for 0.8))))
- (when hydra-is-helpful (hydra-zoom/hint))
- (setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-zoom/keymap)
- t (lambda nil
(hydra-keyboard-quit))))))
- (defun hydra-zoom/lambda-0-and-exit nil "Create a hydra with no body and
the heads:
-
-\"r\": `(text-scale-set 0)',
-\"0\": `(text-scale-set 0)',
-\"1\": `(text-scale-set 0)'
-
-The body can be accessed via `hydra-zoom/body'.
-
-Call the head: `(text-scale-set 0)'."
- (interactive)
- (hydra-default-pre)
- (hydra-disable)
- (hydra-keyboard-quit)
- (catch (quote hydra-disable)
- (call-interactively (function (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))))))
- (defun hydra-zoom/body nil "Create a hydra with no body and the heads:
-
-\"r\": `(text-scale-set 0)',
-\"0\": `(text-scale-set 0)',
-\"1\": `(text-scale-set 0)'
-
-The body can be accessed via `hydra-zoom/body'."
- (interactive)
- (hydra-default-pre)
- (hydra-disable)
- (catch (quote hydra-disable)
- (when hydra-is-helpful (hydra-zoom/hint))
- (setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-zoom/keymap)
- t (lambda nil
(hydra-keyboard-quit))))
- (setq prefix-arg current-prefix-arg)))))))
-
(ert-deftest hydra--pad ()
(should (equal (hydra--pad '(a b c) 3)
'(a b c)))
- [elpa] master b351b7c 24/45: hydra.el (hydra--body-color): Remove, (continued)
- [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, 2015/04/16
- [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 <=
- [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
- [elpa] master d3d435d 25/45: Finalize head inheritance, Oleh Krehel, 2015/04/16
- [elpa] master b2c9ea6 36/45: README.md: Update intro, Oleh Krehel, 2015/04/16
- [elpa] master d678cc0 34/45: Work around `overriding-terminal-local-map' being terminal-local, Oleh Krehel, 2015/04/16
- [elpa] master d6e00ed 33/45: README.md: Add video demo link, Oleh Krehel, 2015/04/16