summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRavi R Kiran <aine.marina@gmail.com>2021-10-10 20:50:21 (GMT)
committerRavi R Kiran <aine.marina@gmail.com>2021-10-10 20:50:21 (GMT)
commit1fbee9c1868d3b26becf5daac77e00e73453f461 (patch)
tree2cce6cd4f54a74feeaddc7d2e8527f4e3c19ecb4
parentae40145403cd0a43f827aaefaa50d7cc8229a699 (diff)
downloaddotemacs-1fbee9c1868d3b26becf5daac77e00e73453f461.zip
dotemacs-1fbee9c1868d3b26becf5daac77e00e73453f461.tar.gz
dotemacs-1fbee9c1868d3b26becf5daac77e00e73453f461.tar.bz2
Navigate directory locations beyond future history
-rw-r--r--lisp/ravi-init-completion.el25
1 files changed, 25 insertions, 0 deletions
diff --git a/lisp/ravi-init-completion.el b/lisp/ravi-init-completion.el
index a722ad4..6adf270 100644
--- a/lisp/ravi-init-completion.el
+++ b/lisp/ravi-init-completion.el
@@ -400,5 +400,30 @@ INITIAL will be used as the initial input, if given."
(user-error "No symbol at point or documentation not found")))
)
+(use-package consult-dir
+ :commands (consult-dir)
+ :after (:any selectrum vertico)
+ :init
+ (ravi/bind-key-selection-system-map "C-x C-d" #'consult-dir)
+ (ravi/bind-key-selection-system-map "C-x C-j" #'consult-dir-jump-file)
+ :bind (("C-x C-d" . consult-dir))
+ :config
+ (setq consult-dir-project-list-function #'consult-dir-projectile-dirs)
+
+ ;; Since we use fasd, use it as a directory source too
+ (when-let ((fasd (executable-find "fasd")))
+ (defun consult-dir--fasd-dirs ()
+ "Return list of fasd dirs."
+ (split-string (shell-command-to-string (concat fasd " -ld")) "\n" t))
+ (defvar consult-dir--source-fasd
+ `(:name "Fasd dirs"
+ :narrow ?f
+ :category file
+ :face consult-file
+ :history file-name-history
+ :items ,#'consult-dir--fasd-dirs)
+ "Fasd directory source for `consult-dir'.")
+ (add-to-list 'consult-dir-sources 'consult-dir--source-fasd t)))
+
(provide 'ravi-init-completion)
;;; ravi-init-completion.el ends here