Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

* Require Emacs 28.1 and Projectile 3.1.0. Projectile 3.1.0 raised its own minimum to Emacs 28.1 (and pulls in `compat`), so helm-projectile can no longer be installed on Emacs 27. The CI matrix drops the 27.2 job accordingly.
* Drop the dead "Find file in Elscreen" grep/ack action. Helm removed elscreen support (`helm-grep-jump-elscreen` no longer exists), so that action errored for anyone who still had elscreen installed.
* Deprecate `helm-projectile-ack`. ack has been superseded by ripgrep and the silver searcher, and Projectile itself dropped `projectile-ack`; use `helm-projectile-rg` or `helm-projectile-ag` instead. The command still works for now but is marked obsolete and will be removed in a future release.

### Internal

Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,8 @@ these are the supported commands:
* `helm-projectile-find-dir`
* `helm-projectile-recentf`
* `helm-projectile-switch-to-buffer`
* `helm-projectile-grep` (can be used for both grep or ack)
* `helm-projectile-grep`
* `helm-projectile-ack` (deprecated - use `helm-projectile-rg` or `helm-projectile-ag`)
* `helm-projectile-ag`
* `helm-projectile-rg`
* Replace Helm equivalent commands in `projectile-commander`
Expand Down
10 changes: 9 additions & 1 deletion helm-projectile.el
Original file line number Diff line number Diff line change
Expand Up @@ -1596,7 +1596,11 @@ prefix argument then ask for FILES."
"Run an ack search in the current project with Helm.
DIR directory where to search, if not set then current project root is
used. TYPES is a list of types to include in search. When called with
a prefix argument, then ask for TYPES."
a prefix argument, then ask for TYPES.

This command is obsolete: ack has been superseded by ripgrep and the
silver searcher, and Projectile itself has dropped `projectile-ack'.
Use `helm-projectile-rg' or `helm-projectile-ag' instead."
(interactive)
(let* ((project-root (or dir (projectile-project-root) (user-error "You're not in a project")))
(ignored (when (helm-projectile--projectile-ignore-strategy)
Expand Down Expand Up @@ -1630,6 +1634,10 @@ a prefix argument, then ask for TYPES."
(run-with-timer 0.01 nil
#'helm-projectile-grep-or-ack project-root t ignored helm-ack-grep-executable include)))

(make-obsolete 'helm-projectile-ack
"use `helm-projectile-rg' or `helm-projectile-ag' instead."
"1.7.0")

(defvar helm-projectile--ag-input nil
"The value of input to be used in a next `helm-projectile-ag' call.")

Expand Down
6 changes: 6 additions & 0 deletions test/helm-projectile-test.el
Original file line number Diff line number Diff line change
Expand Up @@ -381,6 +381,12 @@
(expect (helm-projectile-test--ag-command "ag" "--foo")
:to-equal "ag --ignore TAGS --ignore build/ --foo %s %s %s")))

(describe "helm-projectile-ack deprecation"
;; ack is superseded by rg/ag and Projectile dropped `projectile-ack';
;; the command is kept working but marked obsolete.
(it "is marked obsolete"
(expect (get 'helm-projectile-ack 'byte-obsolete-info) :to-be-truthy)))

(describe "helm-projectile-ack"
(before-each
(spy-on 'projectile-project-root :and-return-value "/proj/")
Expand Down
Loading