add counsel-projectile-ag
This commit is contained in:
parent
87957f1919
commit
7b9a81ce5c
2 changed files with 42 additions and 7 deletions
|
|
@ -24,6 +24,7 @@ Counsel-projectile also provides replacements for several standard projectile co
|
||||||
- <kbd>C-c p f</kbd> `counsel-projectile-find-file`: find a project file,
|
- <kbd>C-c p f</kbd> `counsel-projectile-find-file`: find a project file,
|
||||||
- <kbd>C-c p d</kbd> `counsel-projectile-find-dir`: find a project directory,
|
- <kbd>C-c p d</kbd> `counsel-projectile-find-dir`: find a project directory,
|
||||||
- <kbd>C-c p b</kbd> `counsel-projectile-switch-to-buffer`: switch to a project buffer,
|
- <kbd>C-c p b</kbd> `counsel-projectile-switch-to-buffer`: switch to a project buffer,
|
||||||
|
- <kbd>C-c p s s</kbd> `counsel-projectile-ag`: search project files with ag,
|
||||||
- <kbd>C-c p p</kbd> `counsel-projectile-switch-project`: switch to another project (see above).
|
- <kbd>C-c p p</kbd> `counsel-projectile-switch-project`: switch to another project (see above).
|
||||||
|
|
||||||
If your default action for switching to a project (stored in the variable `projectile-switch-project-action`) is `projectile-find-file` (the default), then `counsel-projectile-on` also replaces it with `counsel-projectile-find-file-or-buffer` (see above).
|
If your default action for switching to a project (stored in the variable `projectile-switch-project-action`) is `projectile-find-file` (the default), then `counsel-projectile-on` also replaces it with `counsel-projectile-find-file-or-buffer` (see above).
|
||||||
|
|
|
||||||
|
|
@ -193,6 +193,34 @@ With a prefix ARG invalidates the cache first."
|
||||||
(projectile-maybe-invalidate-cache arg)
|
(projectile-maybe-invalidate-cache arg)
|
||||||
(counsel-projectile-switch-to-buffer t))
|
(counsel-projectile-switch-to-buffer t))
|
||||||
|
|
||||||
|
;;; counsel-projectile-ag
|
||||||
|
|
||||||
|
(defun counsel-projectile-ag (&optional options)
|
||||||
|
"Ivy version of `projectile-ag'."
|
||||||
|
(interactive)
|
||||||
|
(if (projectile-project-p)
|
||||||
|
(let* ((options
|
||||||
|
(if current-prefix-arg
|
||||||
|
(read-string "options: ")
|
||||||
|
options))
|
||||||
|
(ignored
|
||||||
|
(unless (eq (projectile-project-vcs) 'git)
|
||||||
|
;; ag supports git ignore files
|
||||||
|
(append
|
||||||
|
(cl-union (projectile-ignored-files-rel) grep-find-ignored-files)
|
||||||
|
(cl-union (projectile-ignored-directories-rel) grep-find-ignored-directories))))
|
||||||
|
(options
|
||||||
|
(concat options
|
||||||
|
(mapconcat (lambda (i)
|
||||||
|
(concat "--ignore " i))
|
||||||
|
ignored
|
||||||
|
" "))))
|
||||||
|
(counsel-ag nil
|
||||||
|
(projectile-project-root)
|
||||||
|
options
|
||||||
|
(projectile-prepend-project-name "ag")))
|
||||||
|
(user-error "You're not in a project")))
|
||||||
|
|
||||||
;;; counsel-projectile-switch-project
|
;;; counsel-projectile-switch-project
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
|
|
@ -248,7 +276,11 @@ With a prefix ARG invokes `projectile-commander' instead of `projectile-switch-p
|
||||||
("e" (lambda (dir)
|
("e" (lambda (dir)
|
||||||
(let ((projectile-switch-project-action 'projectile-run-eshell))
|
(let ((projectile-switch-project-action 'projectile-run-eshell))
|
||||||
(projectile-switch-project-by-name dir arg)))
|
(projectile-switch-project-by-name dir arg)))
|
||||||
"start eshell")))
|
"start eshell")
|
||||||
|
("a" (lambda (dir)
|
||||||
|
(let ((projectile-switch-project-action 'counsel-projectile-ag))
|
||||||
|
(projectile-switch-project-by-name dir arg)))
|
||||||
|
"search with ag")))
|
||||||
|
|
||||||
;;; counsel-projectile
|
;;; counsel-projectile
|
||||||
|
|
||||||
|
|
@ -273,15 +305,15 @@ With a prefix ARG invalidates the cache first."
|
||||||
(def-projectile-commander-method ?f
|
(def-projectile-commander-method ?f
|
||||||
"Find file in project."
|
"Find file in project."
|
||||||
(counsel-projectile-find-file))
|
(counsel-projectile-find-file))
|
||||||
|
|
||||||
(def-projectile-commander-method ?b
|
|
||||||
"Switch to project buffer."
|
|
||||||
(counsel-projectile-switch-to-buffer))
|
|
||||||
|
|
||||||
(def-projectile-commander-method ?d
|
(def-projectile-commander-method ?d
|
||||||
"Find directory in project."
|
"Find directory in project."
|
||||||
(counsel-projectile-find-dir))
|
(counsel-projectile-find-dir))
|
||||||
|
(def-projectile-commander-method ?b
|
||||||
|
"Switch to project buffer."
|
||||||
|
(counsel-projectile-switch-to-buffer))
|
||||||
|
(def-projectile-commander-method ?A
|
||||||
|
"Search project files with ag."
|
||||||
|
(counsel-projectile-ag))
|
||||||
(def-projectile-commander-method ?s
|
(def-projectile-commander-method ?s
|
||||||
"Switch project."
|
"Switch project."
|
||||||
(counsel-projectile-switch-project)))
|
(counsel-projectile-switch-project)))
|
||||||
|
|
@ -295,6 +327,7 @@ With a prefix ARG invalidates the cache first."
|
||||||
(define-key projectile-mode-map [remap projectile-find-file] #'counsel-projectile-find-file)
|
(define-key projectile-mode-map [remap projectile-find-file] #'counsel-projectile-find-file)
|
||||||
(define-key projectile-mode-map [remap projectile-find-dir] #'counsel-projectile-find-dir)
|
(define-key projectile-mode-map [remap projectile-find-dir] #'counsel-projectile-find-dir)
|
||||||
(define-key projectile-mode-map [remap projectile-switch-project] #'counsel-projectile-switch-project)
|
(define-key projectile-mode-map [remap projectile-switch-project] #'counsel-projectile-switch-project)
|
||||||
|
(define-key projectile-mode-map [remap projectile-ag] #'counsel-projectile-ag)
|
||||||
(define-key projectile-mode-map [remap projectile-switch-to-buffer] #'counsel-projectile-switch-to-buffer)
|
(define-key projectile-mode-map [remap projectile-switch-to-buffer] #'counsel-projectile-switch-to-buffer)
|
||||||
(counsel-projectile-commander-bindings))
|
(counsel-projectile-commander-bindings))
|
||||||
(progn
|
(progn
|
||||||
|
|
@ -303,6 +336,7 @@ With a prefix ARG invalidates the cache first."
|
||||||
(define-key projectile-mode-map [remap projectile-find-file] nil)
|
(define-key projectile-mode-map [remap projectile-find-file] nil)
|
||||||
(define-key projectile-mode-map [remap projectile-find-dir] nil)
|
(define-key projectile-mode-map [remap projectile-find-dir] nil)
|
||||||
(define-key projectile-mode-map [remap projectile-switch-project] nil)
|
(define-key projectile-mode-map [remap projectile-switch-project] nil)
|
||||||
|
(define-key projectile-mode-map [remap projectile-ag] nil)
|
||||||
(define-key projectile-mode-map [remap projectile-switch-to-buffer] nil)
|
(define-key projectile-mode-map [remap projectile-switch-to-buffer] nil)
|
||||||
(projectile-commander-bindings))))
|
(projectile-commander-bindings))))
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue