[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master f01f4a4 04/36: hydra.el (hydra-key-regex): Extract from hy
From: |
Oleh Krehel |
Subject: |
[elpa] master f01f4a4 04/36: hydra.el (hydra-key-regex): Extract from hydra--format |
Date: |
Sat, 22 Jul 2017 11:22:20 -0400 (EDT) |
branch: master
commit f01f4a46f227961cd2a1571a45a174cfcfbfa81c
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>
hydra.el (hydra-key-regex): Extract from hydra--format
* hydra.el (hydra-width-spec-regex): Extract from hydra--format.
Now the user can configure the key regex more precisely.
Fixes #187
---
hydra.el | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/hydra.el b/hydra.el
index a048df8..a1f7a8d 100644
--- a/hydra.el
+++ b/hydra.el
@@ -584,6 +584,12 @@ HEAD's binding is returned as a string wrapped with [] or
{}."
(defvar hydra-docstring-keys-translate-alist
'(("↑" . "<up>")))
+(defconst hydra-width-spec-regex " ?-?[0-9]*s?"
+ "Regex for the width spec in keys and %` quoted sexps.")
+
+(defvar hydra-key-regex "\\[\\|]\\|[-[:alnum:]
~.,;:/|?<>address@hidden&^↑'`()\"]+?"
+ "Regex for the key quoted in the docstring.")
+
(defun hydra--format (_name body docstring heads)
"Generate a `format' statement from STR.
\"%`...\" expressions are extracted into \"%S\".
@@ -597,7 +603,11 @@ 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:] ~.,;:/|?<>address@hidden&^↑]+?\\)[_?]\\)"
+ (format
+
"\\(?:%%\\(%s\\)\\(`[a-z-A-Z/0-9]+\\|(\\)\\)\\|\\(?:[_?]\\(%s\\)\\(%s\\)[_?]\\)"
+ hydra-width-spec-regex
+ hydra-width-spec-regex
+ hydra-key-regex)
docstring start))
(cond ((eq ?? (aref (match-string 0 docstring) 0))
(let* ((key (match-string 4 docstring))
- [elpa] master updated (231ac7f -> 32b8352), Oleh Krehel, 2017/07/22
- [elpa] master 69529ad 01/36: hydra.el (hydra-default-hint): Add option, Oleh Krehel, 2017/07/22
- [elpa] master f01f4a4 04/36: hydra.el (hydra-key-regex): Extract from hydra--format,
Oleh Krehel <=
- [elpa] master 83b9019 07/36: hydra.el (hydra-width-spec-regex): Update, Oleh Krehel, 2017/07/22
- [elpa] master 9fd53ba 08/36: hydra.el (hydra-doc-format-spec): New defcustom, Oleh Krehel, 2017/07/22
- [elpa] master f668f4c 06/36: hydra.el (hydra-key-regex): Add "↓←→⌫⌦⏎", Oleh Krehel, 2017/07/22
- [elpa] master f877855 12/36: hydra-examples.el (org-agenda-cts): Add, Oleh Krehel, 2017/07/22
- [elpa] master 0a5074a 09/36: hydra.el (hydra--format): Avoid inf loops, Oleh Krehel, 2017/07/22
- [elpa] master 270b917 14/36: hydra.el (defhydra): Don't eval hints during the definition, Oleh Krehel, 2017/07/22
- [elpa] master 200a444 10/36: hydra.el (hydra--hint): Revert return "" for :hint nil, Oleh Krehel, 2017/07/22
- [elpa] master 798684a 13/36: hydra-examples.el: Don't byte-compile, Oleh Krehel, 2017/07/22
- [elpa] master 1eee0f3 18/36: hydra.el (hydra-get-property): New defun., Oleh Krehel, 2017/07/22
- [elpa] master 272dc4a 05/36: hydra.el (hydra-docstring-keys-translate-alist): Update, Oleh Krehel, 2017/07/22