What I want is an easy-to-use hydra for macro execution. Typically I execute a keyboard macro a few times (e), and then might want to repeat infinitely until the end of a buffer (u). Sometimes I need to search forward or backward before continuing with keyboard macro execution.
What I have is a steaming pile of not-quite-working whats-it.
I have to use foreign-keys to search. This seems wrong. Without foreign keys the searches don't accept any input. Even with, if my search term contains a hydra key, then it does that instead.
I must be doing something wrong. Please help!
(defhydra hydra-keyboard-macros (:columns 6 :foreign-keys run) ("e" kmacro-end-or-call-macro-repeat "execute") ("u" (lambda() (interactive) (let ((current-prefix-arg 0)) (call-interactively #'kmacro-end-or-call-macro))) "unlimited") ("s" isearch-forward-regexp "search") ("r" isearch-backward-regexp "reverse") ("'" edit-last-kbd-macro "edit") ("q" nil "quit")) (global-set-key (kbd "C-x e") #'hydra-keyboard-macros/kmacro-end-or-call-macro-repeat)