[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 4f0ef62 27/72: hydra.el (hydra-pink-fallback): Add
From: |
Oleh Krehel |
Subject: |
[elpa] master 4f0ef62 27/72: hydra.el (hydra-pink-fallback): Add |
Date: |
Fri, 06 Mar 2015 13:04:09 +0000 |
branch: master
commit 4f0ef6298ce4bb3204318a9dd1210794735eb106
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>
hydra.el (hydra-pink-fallback): Add
* hydra.el (defhydra): More advanced handling of the pink fallback.
Re #38.
---
hydra.el | 36 ++++++++++++++++++++++++------------
1 files changed, 24 insertions(+), 12 deletions(-)
diff --git a/hydra.el b/hydra.el
index c710ca0..1ff668e 100644
--- a/hydra.el
+++ b/hydra.el
@@ -401,6 +401,23 @@ BODY-COLOR, BODY-PRE, BODY-POST, and OTHER-POST are used
as well."
`(lambda () (hydra-cleanup)))))
,other-post))))))
+(defun hydra-pink-fallback ()
+ (let ((keys (this-command-keys))
+ kb)
+ (when (equal keys [backspace])
+ (setq keys ""))
+ (setq kb (key-binding keys))
+ (if kb
+ (if (commandp kb)
+ (condition-case err
+ (call-interactively kb)
+ (error
+ (message "%S" err)
+ (unless hydra-lv
+ (sit-for 0.8))))
+ (message "Pink Hydra can't currently handle prefixes, continuing"))
+ (message "Pink Hydra could not resolve: %S" keys))))
+
;;* Macros
;;** defhydra
;;;###autoload
@@ -500,18 +517,13 @@ result of `defhydra'."
(define-key keymap [t]
`(lambda ()
(interactive)
- ,@ (cond
- ((eq body-color 'amaranth)
- '((message "An amaranth Hydra can only exit through a
blue head")))
- ((eq body-color 'teal)
- '((message "An teal Hydra can only exit through a blue
head")))
- (t
- '((let ((kb (key-binding (this-command-keys))))
- (if kb
- (if (commandp kb)
- (call-interactively kb)
- (error "Pink Hydra can't currently handle
prefixes, aborting"))
- (message "A pink Hydra can only exit through a
blue head"))))))
+ ,@(cond
+ ((eq body-color 'amaranth)
+ '((message "An amaranth Hydra can only exit through a
blue head")))
+ ((eq body-color 'teal)
+ '((message "An teal Hydra can only exit through a blue
head")))
+ (t
+ '((hydra-pink-fallback))))
(hydra-set-transient-map hydra-curr-map t)
(when hydra-is-helpful
(unless hydra-lv
- [elpa] master abb76e8 13/72: lv.el (lv-message): Don't deactivate mark, (continued)
- [elpa] master abb76e8 13/72: lv.el (lv-message): Don't deactivate mark, Oleh Krehel, 2015/03/06
- [elpa] master 81ffca0 20/72: Update faces, Oleh Krehel, 2015/03/06
- [elpa] master 9769143 25/72: hydra-examples.el: Add example 7, Oleh Krehel, 2015/03/06
- [elpa] master c049a33 16/72: Allow for Ruby-style Hydra docstrings, Oleh Krehel, 2015/03/06
- [elpa] master 688e8fd 23/72: hydra.el (hydra--head-color): fix for teal color, Oleh Krehel, 2015/03/06
- [elpa] master 0cda4ce 26/72: Fix typos, Oleh Krehel, 2015/03/06
- [elpa] master caf114a 11/72: Fix unintentional recursion in Emacs 25, Oleh Krehel, 2015/03/06
- [elpa] master c7281e9 17/72: Minor refactoring, Oleh Krehel, 2015/03/06
- [elpa] master 06b35f7 08/72: Remove obsoletes, Oleh Krehel, 2015/03/06
- [elpa] master 806e04b 09/72: Don't clutter Echo Area, Oleh Krehel, 2015/03/06
- [elpa] master 4f0ef62 27/72: hydra.el (hydra-pink-fallback): Add,
Oleh Krehel <=
- [elpa] master 4aa8826 18/72: hydra.el (hydra--message): Take same arguments as `defhydra', Oleh Krehel, 2015/03/06
- [elpa] master b81d078 29/72: Generate a global resetter in `defhydradio', Oleh Krehel, 2015/03/06
- [elpa] master 42cb833 21/72: hydra.el (hydra--hint): Take same arguments as `defhydra', Oleh Krehel, 2015/03/06
- [elpa] master 0a3cc60 30/72: Add compat color-less syntax, Oleh Krehel, 2015/03/06
- [elpa] master 92e1922 19/72: hydra.el (hydra--hint): Take same arguments as `defhydra', Oleh Krehel, 2015/03/06
- [elpa] master 6f7cef2 22/72: Add teal body color, Oleh Krehel, 2015/03/06
- [elpa] master 7010772 32/72: hydra.el (hydra--head-color): Improve, Oleh Krehel, 2015/03/06
- [elpa] master d0e8d57 33/72: hydra.el (hydra-add-font-lock): Add `defhydradio', Oleh Krehel, 2015/03/06
- [elpa] master 0881733 28/72: hydra.el (defhydra): Fix typo, Oleh Krehel, 2015/03/06
- [elpa] master a4c4eb6 36/72: Add example for `Buffer-menu-mode', Oleh Krehel, 2015/03/06