From adc29975ae4955b9175a12d44417018831a3dc55 Mon Sep 17 00:00:00 2001 From: Oleh Krehel Date: Fri, 17 Jul 2015 20:31:35 +0200 Subject: [PATCH] Allow for "_[_" and "_]_" in docs * hydra.el (hydra--format): Update. * hydra-test.el (hydra-format-6): Add test. Fixes #143 --- hydra-test.el | 17 +++++++++++++++++ hydra.el | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/hydra-test.el b/hydra-test.el index b55f3ef..a770435 100644 --- a/hydra-test.el +++ b/hydra-test.el @@ -1096,6 +1096,23 @@ _f_ auto-fill-mode: %`auto-fill-function #("u" 0 1 (face hydra-face-red))) "")))) +(ert-deftest hydra-format-6 () + (should + (equal (hydra--format + nil nil "\n[_]_] forward [_[_] backward\n" + '(("]" forward-char) + ("[" backward-char))) + '(concat + (format + "[%s] forward [%s] backward\n" + #("]" + 0 1 (face + hydra-face-red)) + #("[" + 0 1 (face + hydra-face-red))) + "")))) + (ert-deftest hydra-format-with-sexp-1 () (should (equal (let ((hydra-fontify-head-function diff --git a/hydra.el b/hydra.el index d912c7d..5a823ff 100644 --- a/hydra.el +++ b/hydra.el @@ -513,7 +513,7 @@ The expressions can be auto-expanded according to NAME." offset) (while (setq start (string-match - "\\(?:%\\( ?-?[0-9]*s?\\)\\(`[a-z-A-Z/0-9]+\\|(\\)\\)\\|\\(?:_\\( ?-?[0-9]*?\\)\\([-[:alnum:] ~.,;:/|?<>={}*+#]+?\\)_\\)" + "\\(?:%\\( ?-?[0-9]*s?\\)\\(`[a-z-A-Z/0-9]+\\|(\\)\\)\\|\\(?:_\\( ?-?[0-9]*?\\)\\(\\[\\|]\\|[-[:alnum:] ~.,;:/|?<>={}*+#]+?\\)_\\)" docstring start)) (cond ((eq ?_ (aref (match-string 0 docstring) 0)) (let* ((key (match-string 4 docstring))