diff options
Diffstat (limited to 'emacs.d/modules/module-ivy.el')
-rw-r--r-- | emacs.d/modules/module-ivy.el | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/emacs.d/modules/module-ivy.el b/emacs.d/modules/module-ivy.el new file mode 100644 index 0000000..438563d --- /dev/null +++ b/emacs.d/modules/module-ivy.el @@ -0,0 +1,54 @@ +(require 'config-package) + +(use-package swiper) + +(use-package counsel + :bind* + (("M-x" . counsel-M-x) + ("C-s" . counsel-grep-or-swiper) + ("C-x C-f" . counsel-find-file) + ("C-x C-r" . counsel-recentf) + ("C-c f" . counsel-git) + ("C-c s" . counsel-git-grep) + ("C-c /" . counsel-ag)) + + :config + (setq counsel-find-file-at-point t)) + +(use-package ivy + :diminish (ivy-mode . "") + + :bind ("C-c m" . ivy-switch-project) + + :config + (ivy-mode 1) + (setq ivy-use-virtual-buffers t + ivy-height 10 + ivy-count-format "(%d/%d) " + ivy-initial-inputs-alist nil + ivy-use-ignore-default 'always + ivy-ignore-buffers '("company-statistics-cache.el" "company-statistics-autoload.el") + ivy-re-builders-alist '((swiper . ivy--regex-ignore-order) + (t . ivy--regex-fuzzy) + (t . ivy--regex-ignore-order))) + + (defun ivy-switch-project () + (interactive) + (ivy-read + "Switch to project: " + (if (projectile-project-p) + (cons (abbreviate-file-name (projectile-project-root)) + (projectile-relevant-known-projects)) + projectile-known-projects) + :action #'projectile-switch-project-by-name)) + + (ivy-set-actions + 'ivy-switch-project + '(("d" dired "Open Dired in project's directory") + ("v" counsel-projectile "Open project root in vc-dir or magit") + ("c" projectile-compile-project "Compile project") + ("r" projectile-remove-known-project "Remove project(s)")))) + +(use-package counsel-projectile) + +(provide 'module-ivy) |