From d00582ae9c7c5ef6b5ccb7f938060e2b386d5eaa Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 13 Jun 2016 02:12:22 -0400 Subject: [PATCH] Refactor ivy config --- core/core-ivy.el | 19 +++++++------------ core/defuns/defuns-ivy.el | 13 +++++++++++++ 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/core/core-ivy.el b/core/core-ivy.el index 54d8148e3..c970b4d0c 100644 --- a/core/core-ivy.el +++ b/core/core-ivy.el @@ -5,9 +5,13 @@ :init (setq projectile-completion-system 'ivy ivy-height 15 - ivy-do-completion-in-region nil) + ivy-do-completion-in-region nil + ivy-wrap t) :config + (after! magit + (setq magit-completing-read-function 'ivy-completing-read)) + (ivy-mode +1) (map! :map ivy-minibuffer-map [escape] 'keyboard-escape-quit @@ -18,23 +22,14 @@ "C-b" 'backward-word "C-f" 'forward-word) + ;; (require 'counsel) - (defun counsel-ag-function (string) - "Grep in the current directory for STRING." - (if (< (length string) 1) - (counsel-more-chars 1) - (let ((default-directory counsel--git-grep-dir) - (regex (counsel-unquote-regex-parens - (setq ivy--old-re - (ivy--regex string))))) - (counsel--async-command - (format counsel-ag-base-command (shell-quote-argument regex))) - nil)))) (add-hook! doom-popup-mode (when (eq major-mode 'ivy-occur-grep-mode) (ivy-wgrep-change-to-wgrep-mode))) + (advice-add 'counsel-ag-function :override 'doom*counsel-ag-function) (define-key counsel-ag-map [backtab] 'ivy-occur)) (use-package counsel-projectile :after projectile) diff --git a/core/defuns/defuns-ivy.el b/core/defuns/defuns-ivy.el index 9190e07b6..8dc04e470 100644 --- a/core/defuns/defuns-ivy.el +++ b/core/defuns/defuns-ivy.el @@ -59,5 +59,18 @@ DIR specifies the default-directory from which ag is run." (interactive "") (doom:ivy-ag-search beg end search regex-p default-directory)) +;;;###autoload +(defun doom*counsel-ag-function (string) + "Advice to get rid of the character limit from `counsel-ag-function', which +interferes with my custom :ag ex command `doom:ivy-ag-search'." + (if (< (length string) 1) + (counsel-more-chars 1) + (let ((default-directory counsel--git-grep-dir) + (regex (counsel-unquote-regex-parens + (setq ivy--old-re (ivy--regex string))))) + (counsel--async-command + (format counsel-ag-base-command (shell-quote-argument regex))) + nil))) + (provide 'defuns-ivy) ;;; defuns-ivy.el ends here