                (counsel-projectile-grep args))
            (counsel-projectile-grep args))))
       ('ag
-       (let ((args (concat
-                    (if all-files-p " -a")
-                    (unless recursion-p " -n"))))
+       (let ((args (concat " -S" ; smart-case
+                           (if all-files-p " -a")
+                           (unless recursion-p " --depth 1"))))
          (counsel-ag query directory args (format prompt args))))
       ('rg
-       ;; smart-case instead of case-insensitive flag
-       (let ((counsel-rg-base-command
-              (replace-regexp-in-string " -i " " -S " counsel-rg-base-command))
-             (args (concat
-                    (if all-files-p " -uu")
-                    (unless recursion-p " --maxdepth 1"))))
+       (let ((args (concat " -S" ; smart-case
+                           (if all-files-p " -uu")
+                           (unless recursion-p " --maxdepth 1"))))
          (counsel-rg query directory args (format prompt args))))
       ('pt) ;; TODO pt search engine (necessary?)
       (_ (error "No search engine specified")))))


;;;###autoload (autoload '+ivy:ag "completion/ivy/autoload/evil" nil t)
(evil-define-operator +ivy:ag (beg end query &optional all-files-p directory)
  "Perform a project file search using the silver search. QUERY is a pcre
regexp. If omitted, the current selection is used. If no selection is active,
the last known search is used.


    (pcase engine
      ('grep
       (let ((args (if recursion-p " -r"))
             (counsel-projectile-grep-initial-input query)
             (default-directory directory))
         (if all-files-p
             (cl-letf (((symbol-function #'projectile-ignored-directories-rel)
                        (symbol-function #'ignore))
