* ivy.el (ivy-occur-revert-buffer): Add `counsel-ag' to the list.
* counsel.el (counsel-ag-occur): Don't call `ivy-occur-grep-mode' unless
needed.
> (string-match "\"\\(.*\\)\"" (buffer-name))
Is a hack to recover the old `ivy-text', since it's not a field in
`ivy-last', and may have changed in the meantime.
TODO: Fix this sort of hacks, all necessary session data should really be in `ivy-last'.
(defun counsel-ag-occur ()
"Generate a custom occur buffer for `counsel-ag'."
(defun counsel-ag-occur ()
"Generate a custom occur buffer for `counsel-ag'."
+ (unless (eq major-mode 'ivy-occur-grep-mode)
+ (ivy-occur-grep-mode))
(setq default-directory counsel--git-grep-dir)
(let* ((regex (counsel-unquote-regex-parens
(setq ivy--old-re
(setq default-directory counsel--git-grep-dir)
(let* ((regex (counsel-unquote-regex-parens
(setq ivy--old-re
- (ivy--regex ivy-text))))
+ (ivy--regex
+ (progn (string-match "\"\\(.*\\)\"" (buffer-name))
+ (match-string 1 (buffer-name)))))))
(cands (split-string
(shell-command-to-string
(format counsel-ag-base-command (shell-quote-argument regex)))
(cands (split-string
(shell-command-to-string
(format counsel-ag-base-command (shell-quote-argument regex)))
(let ((inhibit-read-only t))
(erase-buffer)
(funcall (plist-get ivy--occurs-list caller) t))))
(let ((inhibit-read-only t))
(erase-buffer)
(funcall (plist-get ivy--occurs-list caller) t))))
- ((memq caller '(counsel-git-grep counsel-grep))
+ ((memq caller '(counsel-git-grep counsel-grep counsel-ag))
(let ((inhibit-read-only t))
(erase-buffer)
(funcall (plist-get ivy--occurs-list caller)))))))
(let ((inhibit-read-only t))
(erase-buffer)
(funcall (plist-get ivy--occurs-list caller)))))))