From b48a09d9a0aec5a4e26dd25d6470bf6583f02dd6 Mon Sep 17 00:00:00 2001 From: manuel-uberti Date: Mon, 4 Apr 2016 11:01:32 +0200 Subject: [PATCH] Use Ivy to browse eshell and shell history entries --- counsel.el | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/counsel.el b/counsel.el index 4620c1e0f..76daf6d94 100644 --- a/counsel.el +++ b/counsel.el @@ -1896,6 +1896,27 @@ And insert it into the minibuffer. Useful during (ivy-read "Expr: " (delete-dups read-expression-history) :action #'insert))) +(defun browse-history (elements) + "Use Ivy to navigate through ELEMENTS." + (setq ivy-completion-beg (point)) + (setq ivy-completion-end (point)) + (ivy-read "Symbol name: " + (delete-dups + (ring-elements elements)) + :action #'ivy-completion-in-region-action)) + +;;;###autoload +(defun counsel-esh-history () + "Browse Eshell history." + (interactive) + (browse-history eshell-history-ring)) + +;;;###autoload +(defun counsel-shell-history () + "Browse shell history." + (interactive) + (browse-history comint-input-ring)) + ;;* Misc OS ;;** `counsel-rhythmbox' (defvar helm-rhythmbox-library) -- 2.39.2