ido-mode doesn't provide completion for eshell, shell or sql-mode out of the box, and I wasn't been able to find any package with this option that is lightweight enough (Helm, I'm looking at you). So, after few attempts, here is the code for that:
(defun ido-eshell-comint-history () "eshell & comint history with ido." (interactive) (if (or (member major-mode '(eshell-mode sql-interactive-mode)) (derived-mode-p 'comint-mode)) (let ((ring (if (eq major-mode 'eshell-mode) eshell-history-ring comint-input-ring))) (insert (ido-completing-read "History: " (delete-dups (ring-elements ring))))) (message "Unsupported mode")))
After evaluating the code, in eshell simply execute
M-x ido-eshell-comint-history and magic will happen - you will get full eshell history managed by ido-mode. To make it more authentic, map it to
C-c C-l, which is default sequence for completion in eshell.
Frequently, inside my Clojure applications, I would put project version string picked from Leiningen
project.clj file. This way, it would solve me these problems:
- User can easily report what application version was affected with some issue.
- Version number is updated only once.
lein change version leiningen.release/bump-version(automatic version number increase) works as well.
In the past, used this code:Continue reading →