Improve v2.0 compatibility for modules/completion/ivy

This commit is contained in:
Henrik Lissner 2017-02-13 21:11:54 -05:00
parent 9173d79eb8
commit 54d58c358e
2 changed files with 57 additions and 46 deletions

View file

@ -66,46 +66,6 @@ all open buffers."
(string-match-p "\\`[\n[:blank:]]+\\'" it)))
(cl-remove-duplicates kill-ring :test 'equal))))
;;;###autoload
(defun +ivy/recentf ()
"Find a file on `recentf-list'."
(interactive)
(while (doom-popup-p)
(doom/popup-close))
(call-interactively 'counsel-recentf))
;;;###autoload (autoload '+ivy:ag-search "completion/ivy/autoload" nil t)
;;;###autoload (autoload '+ivy:ag-search-cwd "completion/ivy/autoload" nil t)
;;;###autoload (autoload '+ivy:swiper "completion/ivy/autoload" nil t)
(@after evil
(defvar doom-ivy-ag-last-search nil)
(evil-define-operator +ivy:ag-search (beg end search regex-p &optional dir)
"Preform a counsel search with SEARCH. If SEARCH is nil and in visual mode,
use the selection, otherwise activate live ag searching in helm.
If REGEX-P is non-nil, SEARCH will be treated as a regular expression.
DIR specifies the default-directory from which ag is run."
:type inclusive :repeat nil
(interactive "<r><a><!>")
(let ((search (or search
(and (evil-visual-state-p)
(and beg end (rxt-quote-pcre (buffer-substring-no-properties beg end))))
doom-ivy-ag-last-search)))
(setq doom-ivy-ag-last-search search)
(counsel-ag search (or dir (f-slash (doom-project-root)))
(concat "--nocolor --nogroup" (if regex-p " -Q")))))
(evil-define-operator +ivy:ag-search-cwd (beg end search regex-p)
:type inclusive :repeat nil
(interactive "<r><a><!>")
(+ivy:ag-search beg end search regex-p default-directory))
(evil-define-command +ivy:swiper (&optional search)
"Invoke `swiper' with SEARCH, otherwise with the symbol at point."
(interactive "<a>")
(swiper (or search (thing-at-point 'symbol)))))
;;;###autoload
(defun +ivy/tasks ()
(interactive)
@ -140,6 +100,40 @@ interferes with my custom :ag ex command `+ivy:ag-search'."
(require 'wgrep)
(call-interactively 'ivy-occur))
(provide 'completion/ivy/autoload)
;;; completion/ivy/autoload.el ends here
;;;###autoload
(defun +ivy-yas-prompt (prompt choices &optional display-fn)
(yas-completing-prompt prompt choices display-fn #'ivy-completing-read))
;;;###autoload (autoload '+ivy:ag-search "completion/ivy/autoload" nil t)
;;;###autoload (autoload '+ivy:ag-search-cwd "completion/ivy/autoload" nil t)
;;;###autoload (autoload '+ivy:swiper "completion/ivy/autoload" nil t)
(@after evil
(defvar +ivy--ag-last-search nil)
(evil-define-operator +ivy:ag-search (beg end search regex-p &optional dir)
"Preform a counsel search with SEARCH. If SEARCH is nil and in visual mode,
use the selection, otherwise activate live ag searching in helm.
If REGEX-P is non-nil, SEARCH will be treated as a regular expression.
DIR specifies the default-directory from which ag is run."
:type inclusive :repeat nil
(interactive "<r><a><!>")
(let ((search (or search
(and (evil-visual-state-p)
(and beg end (rxt-quote-pcre (buffer-substring-no-properties beg end))))
+ivy--ag-last-search)))
(setq +ivy--ag-last-search search)
(counsel-ag search (or dir (f-slash (doom-project-root)))
(concat "--nocolor --nogroup" (if regex-p " -Q")))))
(evil-define-operator +ivy:ag-search-cwd (beg end search regex-p)
:type inclusive :repeat nil
(interactive "<r><a><!>")
(+ivy:ag-search beg end search regex-p default-directory))
(evil-define-command +ivy:swiper (&optional search)
"Invoke `swiper' with SEARCH, otherwise with the symbol at point."
(interactive "<a>")
(swiper (or search (thing-at-point 'symbol)))))