[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 26c3fee 60/72: Remove hydra-exit
From: |
Oleh Krehel |
Subject: |
[elpa] master 26c3fee 60/72: Remove hydra-exit |
Date: |
Fri, 06 Mar 2015 13:04:22 +0000 |
branch: master
commit 26c3feed9577975f3dc0026142c4c6ffcfb59547
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>
Remove hydra-exit
* hydra-test.el: Revert tests.
* hydra.el (hydra-exit): Delete, since `hydra-exit' doesn't run :post.
(hydra--delete-duplicates): Simplify.
(defhydra): Simplify.
Hydras with nil body will still not be bound in outside keymaps.
Re #48
Fixes #53
---
hydra-test.el | 37 +++++++++++++++++++++++++++++++++----
hydra.el | 28 ++++++++++------------------
2 files changed, 43 insertions(+), 22 deletions(-)
diff --git a/hydra-test.el b/hydra-test.el
index b4a1994..b904f2d 100644
--- a/hydra-test.el
+++ b/hydra-test.el
@@ -297,6 +297,20 @@ Call the head: `abbrev-mode'."
(hydra-cleanup)
(catch (quote hydra-disable)
(call-interactively (function abbrev-mode))))
+ (defun hydra-toggle/nil nil "Create a hydra with no body and the heads:
+
+\"t\": `toggle-truncate-lines',
+\"f\": `auto-fill-mode',
+\"a\": `abbrev-mode',
+\"q\": `nil'
+
+The body can be accessed via `hydra-toggle/body'.
+
+Call the head: `nil'."
+ (interactive)
+ (hydra-disable)
+ (hydra-cleanup)
+ (catch (quote hydra-disable)))
(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)
@@ -323,7 +337,7 @@ The body can be accessed via `hydra-toggle/body'."
(setq hydra-curr-map
(quote
(keymap (7 . hydra-keyboard-quit)
- (113 . hydra-exit)
+ (113 . hydra-toggle/nil)
(97 . hydra-toggle/abbrev-mode)
(102 . hydra-toggle/auto-fill-mode)
(116 . hydra-toggle/toggle-truncate-lines)
@@ -396,7 +410,7 @@ Call the head: `next-line'."
(when hydra-is-helpful (unless
hydra-lv (sit-for 0.8))
(hydra-vi/hint)))
(7 . hydra-keyboard-quit)
- (113 . hydra-exit)
+ (113 . hydra-vi/nil)
(107 . hydra-vi/previous-line)
(106 . hydra-vi/next-line)
(kp-subtract . hydra--negative-argument)
@@ -451,7 +465,7 @@ Call the head: `previous-line'."
(when hydra-is-helpful (unless
hydra-lv (sit-for 0.8))
(hydra-vi/hint)))
(7 . hydra-keyboard-quit)
- (113 . hydra-exit)
+ (113 . hydra-vi/nil)
(107 . hydra-vi/previous-line)
(106 . hydra-vi/next-line)
(kp-subtract . hydra--negative-argument)
@@ -478,6 +492,21 @@ Call the head: `previous-line'."
(45 . hydra--negative-argument)
(21 . hydra--universal-argument))))
t (lambda nil (hydra-cleanup))))))
+ (defun hydra-vi/nil nil "Create a hydra with no body and the heads:
+
+\"j\": `next-line',
+\"k\": `previous-line',
+\"q\": `nil'
+
+The body can be accessed via `hydra-vi/body'.
+
+Call the head: `nil'."
+ (interactive)
+ (set-cursor-color "#e52b50")
+ (hydra-disable)
+ (hydra-cleanup)
+ (catch (quote hydra-disable)
+ (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)
@@ -507,7 +536,7 @@ The body can be accessed via `hydra-vi/body'."
(when hydra-is-helpful (unless
hydra-lv (sit-for 0.8))
(hydra-vi/hint)))
(7 . hydra-keyboard-quit)
- (113 . hydra-exit)
+ (113 . hydra-vi/nil)
(107 . hydra-vi/previous-line)
(106 . hydra-vi/next-line)
(kp-subtract . hydra--negative-argument)
diff --git a/hydra.el b/hydra.el
index cc3e5fe..3b73f44 100644
--- a/hydra.el
+++ b/hydra.el
@@ -378,12 +378,6 @@ BODY is the second argument to `defhydra'"
(t
(setq overriding-terminal-local-map nil))))
-(defun hydra-exit ()
- "Exit the current Hydra and clean up."
- (interactive)
- (hydra-disable)
- (hydra-cleanup))
-
(defun hydra--unalias-var (str prefix)
"Return the symbol named STR if it's bound as a variable.
Otherwise, add PREFIX to the symbol name."
@@ -640,17 +634,15 @@ NAME, BODY and HEADS are parameters to `defhydra'."
In duplicate HEADS, :cmd-name is modified to whatever they duplicate."
(let (res ali entry)
(dolist (h heads)
- (if (null (cadr h))
- (setf (cl-cdddr h) (plist-put (cl-cdddr h) :cmd-name 'hydra-exit))
- (if (setq entry (assoc (cons (cadr h)
- (hydra--head-color h '(nil nil)))
- ali))
- (setf (cl-cdddr h) (plist-put (cl-cdddr h) :cmd-name (cdr entry)))
- (push (cons (cons (cadr h)
- (hydra--head-color h '(nil nil)))
- (plist-get (cl-cdddr h) :cmd-name))
- ali)
- (push h res))))
+ (if (setq entry (assoc (cons (cadr h)
+ (hydra--head-color h '(nil nil)))
+ ali))
+ (setf (cl-cdddr h) (plist-put (cl-cdddr h) :cmd-name (cdr entry)))
+ (push (cons (cons (cadr h)
+ (hydra--head-color h '(nil nil)))
+ (plist-get (cl-cdddr h) :cmd-name))
+ ali)
+ (push h res)))
(nreverse res)))
;;* Macros
@@ -764,7 +756,7 @@ result of `defhydra'."
(cl-mapcar
(lambda (head)
(let ((name (hydra--head-property head :cmd-name)))
- (unless (eq name 'hydra-exit)
+ (when (cadr head)
(when (or body-key method)
(let ((bind (hydra--head-property head :bind 'default))
(final-key
- [elpa] master 764f4b6 67/72: hydra.el (hydra--format): Amend key regex, (continued)
- [elpa] master 764f4b6 67/72: hydra.el (hydra--format): Amend key regex, Oleh Krehel, 2015/03/06
- [elpa] master 8e90037 65/72: Add some features for generating tables, Oleh Krehel, 2015/03/06
- [elpa] master 3040f45 61/72: hydra.el (hydra--format): Amend key regex, Oleh Krehel, 2015/03/06
- [elpa] master e1e2e3e 69/72: lv.el (lv-window): Bind `golden-ratio-mode' to nil, Oleh Krehel, 2015/03/06
- [elpa] master 8dec3cd 70/72: Allow for a %s(test) spec in docstring, Oleh Krehel, 2015/03/06
- [elpa] master 9fc928b 63/72: hydra.el (hydra--format): Amend key regex, Oleh Krehel, 2015/03/06
- [elpa] master 989ed95 53/72: Rename compat toggle - :nonheads -> :foreign-keys, Oleh Krehel, 2015/03/06
- [elpa] master 9c68e0a 68/72: Add :timeout option to hydra body, Oleh Krehel, 2015/03/06
- [elpa] master e342c33 71/72: hydra-ox.el: Emulate org-mode export dispatch, Oleh Krehel, 2015/03/06
- [elpa] master 6d6bbd4 62/72: hydra.el (hydra-key-format-spec): set default to "%s", Oleh Krehel, 2015/03/06
- [elpa] master 26c3fee 60/72: Remove hydra-exit,
Oleh Krehel <=
- [elpa] master 41f98bd 66/72: Don't wrap `hydra-repeat', Oleh Krehel, 2015/03/06
- [elpa] master 3222b0c 72/72: Merge commit 'e342c330807fdd09adba974611122d1c95bdf07d' from hydra, Oleh Krehel, 2015/03/06