blob: 825992104d58c5367284eb1fe0f55edfee3e8a7f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
(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 counsel-projectile)
(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 ivy-hydra)
(provide 'module-ivy)
|