MakeItEnd14 · 2022-08-02 18:47
Hello text wizards,
I recently switched to **Vertico, Consult, Orderless, Embark, Marginalia** as a completion framework.
One hurdle I came across is **Projectile**. I use projectile often (I prefer the extra functionality it has over **project.el**). But how do I integrate Projectile with all this. For **Ivy** there is **counsel-projectile** which overrides most projectile functionality and work awesome. For consult there is **consult-projectile** ~~but it seems a bit lacking~~ compared to counsel-projectile.
​
Is there a better alternative? or am I missing something with this completion framework and I should combine more consult and embark functionality with projectile somehow?
Do you use projectile with a similar completion stack? If so do you have any advice of config files to share?
​
\[EDIT\] My bad after taking a deeper look to respond to u/bespokey I realized that they are pretty similar not sure why I thought they were more. My bad.
Thanks in advance!
bespokey · 2022-08-02 19:26
What do you find missing?
[deleted] · 2022-08-02 19:49
[deleted]
MakeItEnd14 · 2022-08-02 19:50
*counsel-projectile* offers:
```
counsel-projectile
counsel-projectile-ag
counsel-projectile-rg
counsel-projectile-grep
counsel-projectile-mode
counsel-projectile-find-dir
counsel-projectile-git-grep
counsel-projectile-find-file
counsel-projectile-org-agenda
counsel-projectile-org-capture
counsel-projectile-find-file-dwim
counsel-projectile-switch-project
counsel-projectile-switch-to-buffe
```
*consult-projectile* offers:
```
consult-projectile
consult-project-buffer
consult-projectile-recentf
consult-projectile-find-dir
consult-projectile-find-file
consult-projectile-switch-project
consult-projectile-switch-to-buffer
```
And mapped equivalent would be:
```
consult-projectile -> counsel-projectile
consult-project-buffer ->
consult-projectile-recentf ->
consult-projectile-find-dir -> counsel-projectile-find-dir
consult-projectile-find-file -> counsel-projectile-find-file
consult-projectile-switch-project -> counsel-projectile-switch-project
consult-projectile-switch-to-buffer -> counsel-projectile-switch-to-buffer
counsel-projectile-ag
counsel-projectile-rg
counsel-projectile-grep
counsel-projectile-mode
counsel-projectile-git-grep
counsel-projectile-org-agenda
counsel-projectile-org-capture
counsel-projectile-find-file-dwim
```
The missing ones from here and I should assume the other functionality projectile offers I can just use normally with the completion stack?
[deleted] · 2022-08-02 19:55
[deleted]
bespokey · 2022-08-02 19:56
Consult has built-in functions for grep, git-grep, ripgrep, and org agenda.
[deleted] · 2022-08-02 19:56
[deleted]
MakeItEnd14 · 2022-08-02 20:00
Yes you are right I don't know why I had the impression there was more functionality missing. I marked it as solved and updated the question.
Thank you.
bespokey · 2022-08-02 20:01
There is `consult-project-function` which has the option to integrate with projectile, make sure you read about it in Consult's readme.
umar-ahmad · 2022-08-03 07:48
I wrote a `consult-projectile-plus` in my config for the integration of projectile (or more specifically consult-projectile) with embark. I have ported all the ivy actions from `counsel-projectile` that I used. Adding any more actions should be very easy.
It's a bit hacky with functions being generated via macro but it does the job. It's hosted [here](https://github.com/Gleek/emacs.d/blob/master/packages/consult-projectile-plus.el), in case you're interested.
LordOfSwines · 2022-08-03 09:24
What’s the benefit of using projectile over the built-in project.el nowadays?
Hagge5 · 2022-08-03 09:40
Very few I'd say.
One thing I ran into: I could be wrong here, but I don't think project supports the caching functionality for project files that projectile has, meaning it can be very slow for large file trees unless you configure it to use an external program to search for files, like rg --files for instance.
GangstaKirBie · 2022-08-03 11:00
I don't think there is an org-projectile like layover for project.el