Created
January 29, 2016 07:24
-
-
Save heikkil/177ff4c4b8a02d574958 to your computer and use it in GitHub Desktop.
Search fish history using ivy mode
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; mod from http://blog.binchen.org/posts/use-ivy-mode-to-search-bash-history.html | |
(require 'dash) | |
(defun counsel-yank-fish-history () | |
"Yank the fish history" | |
(interactive) | |
(let (hist-cmd collection val) | |
(shell-command "history -r") ; reload history | |
(setq collection | |
(nreverse | |
(split-string (with-temp-buffer (insert-file-contents (file-truename "~/.config/fish/fish_history")) | |
(buffer-string)) | |
"\n" | |
t))) | |
(setq collection | |
(--keep (replace-regexp-in-string "- cmd: " "" it) | |
(--filter (string-match "^- cmd:" it) collection))) | |
(when (and collection (> (length collection) 0) | |
(setq val (if (= 1 (length collection)) (car collection) | |
(ivy-read (format "Fish history:") collection)))) | |
(kill-new val) | |
(message "%s => kill-ring" val)))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment