From: manuel-uberti Date: Mon, 4 Apr 2016 09:01:32 +0000 (+0200) Subject: Use Ivy to browse eshell and shell history entries X-Git-Url: https://code.delx.au/gnu-emacs-elpa/commitdiff_plain/b48a09d9a0aec5a4e26dd25d6470bf6583f02dd6?ds=sidebyside Use Ivy to browse eshell and shell history entries --- 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)