I need something like
helm-register which lists all the
registers and it can be searched through.
Latest version of
20190522.2133 on MELPA) has
From the documentation:
counsel-register is an interactive, autoloaded function defined in counsel.el. Signature (counsel-register) Documentation Interactively choose a register. Key Bindings This command is not in any keymaps. References counsel-register is unused in counsel.el.
How about this:
(defvar counsel-register-history nil "History for `counsel-register'.") (defun counsel-register-action (s) "Default action for `counsel-register'. Do what I mean for each type of register." (let* ((k (string-to-char s)) (v (get-register k))) (if (or (stringp v) (numberp v)) (insert (format "%s" v)) (jump-to-register k)))) (defun counsel-register () "Interactively choose a register and perform a default an action on it." (interactive) (ivy-read "Register: " (cl-loop for (k . v) in register-alist collect (concat (key-description (list k)) " => " (if (or (stringp v) (numberp v)) (format "%s" v) (format "[%s] %s" (symbol-name (car v)) (cdr v))))) :preselect 0 :history 'counsel-register-history :action #'counsel-register-action))
Note that this solution does not search through bookmarks. But that would be easy to add. You just have to account for
bookmarks-alist as well.