Replies: 2 comments 10 replies
|
I think you answered this yourself with your fzf-async, and also Affe uses the same model. |
0 replies
|
Yeah, Thanks @minad ! I mostly studied the async implementations in consult for it. |
10 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hi @minad , followup to #587 and a few related questions
I've written this to do try to skip the regexp filtering and have fussy do both filtering+scoring+sorting in its native c backend which is multithreaded and scores/filters using fzf-native. Question is if this is the right approach (e.g. an override advice for each of these functions I want to use with fussy)? I mainly want to avoid the regexp filtering so I can filter on my own and get the performance improvements.
to `consult--buffer-query'." but it wasn't clear to me how to use it in the way I described above.
Similarly, I also want to use fd/find without prior filtering on them (e.g. "$ find ." or "$ fd" in a directory).
Some questions on this.
I added a print statement to my final sorting function here:
So it definitely sorts the list but it's hard to tell if it's running exactly for the final batch. Could you point me to the right spot to debug this?
Similar to above^, is this the right approach? I don't mind overriding a bunch of consult internal functions to accomplish the goal of filtering+scoring with fussy but it'll be tedious in the future if implementation details change.
I'm assuming because of how consult filters right now (e.g. each new input queries the underlying find/fd fresh), results aren't cached at all. A thought I had was we could just run find or fd once (e.g. with empty query ""), accumulate the candidates in a short lived cache while completion is running and we should be able to fuzzily filter/score over this short lived cache instead of calling the command over and over again. This should get us performance similar to what fzf is doing in the terminal (- the speed of emacs just printing out the strings). e.g. collect candidates once -> filter/search after. Even without the cache, the current speed is adequate (e.g. fd on an m4 mac can speed through 150K files in <1 second on an empty query).
All reactions