From 3fce2bd1cde60017ddce529f353151a51a2106b4 Mon Sep 17 00:00:00 2001 From: Oleh Krehel Date: Tue, 31 Mar 2015 15:35:25 +0200 Subject: [PATCH] Try to re-encode the input in the terminal * hydra.el (hydra--handle-nonhead): Update. Most interesting sequences start with [27 91] or [27 79]. It's hard to do it for all of them. Re #90 --- hydra.el | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/hydra.el b/hydra.el index c817a3f..1cac1f5 100644 --- a/hydra.el +++ b/hydra.el @@ -682,10 +682,21 @@ NAME, BODY and HEADS are parameters to `defhydra'." `(lambda () (interactive) ,(cond - ((memq body-color '(amaranth teal)) - '(message "An amaranth Hydra can only exit through a blue head")) - (t - '(hydra-pink-fallback))) + ((memq body-color '(amaranth teal)) + '(let ((k (or (lookup-key + input-decode-map + (vconcat [27 91] + (this-command-keys-vector))) + (lookup-key + input-decode-map + (vconcat [27 79] + (this-command-keys-vector))))) + f) + (if (and k (setq f (lookup-key test/keymap k))) + (funcall f) + (message "An amaranth 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