add counsel-projectile-ag
This commit is contained in:
parent
87957f1919
commit
7b9a81ce5c
2 changed files with 42 additions and 7 deletions
|
|
@ -193,6 +193,34 @@ With a prefix ARG invalidates the cache first."
|
|||
(projectile-maybe-invalidate-cache arg)
|
||||
(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
|
||||
|
||||
;;;###autoload
|
||||
|
|
@ -248,7 +276,11 @@ With a prefix ARG invokes `projectile-commander' instead of `projectile-switch-p
|
|||
("e" (lambda (dir)
|
||||
(let ((projectile-switch-project-action 'projectile-run-eshell))
|
||||
(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
|
||||
|
||||
|
|
@ -273,15 +305,15 @@ With a prefix ARG invalidates the cache first."
|
|||
(def-projectile-commander-method ?f
|
||||
"Find file in project."
|
||||
(counsel-projectile-find-file))
|
||||
|
||||
(def-projectile-commander-method ?b
|
||||
"Switch to project buffer."
|
||||
(counsel-projectile-switch-to-buffer))
|
||||
|
||||
(def-projectile-commander-method ?d
|
||||
"Find directory in project."
|
||||
(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
|
||||
"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-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-ag] #'counsel-projectile-ag)
|
||||
(define-key projectile-mode-map [remap projectile-switch-to-buffer] #'counsel-projectile-switch-to-buffer)
|
||||
(counsel-projectile-commander-bindings))
|
||||
(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-dir] 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)
|
||||
(projectile-commander-bindings))))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue