-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Directories with lots of inodes grind completion to a crawl in prompt #3604
Comments
Yep, there's no caching of any sorts, this runs every time completion is fetched: helix/helix-term/src/ui/mod.rs Lines 383 to 483 in d2cec25
If would be good to limit to a subset of entries, but we'd need a way to start scanning from a certain "page" onwards |
I think helix/helix-term/src/ui/mod.rs Line 416 in d2cec25
:o /nix/store/ since the kernel will cache these types of lookups.
|
I think the problem here is that you're actually pasting on |
Thanks, it works as expected 🙏 |
Summary
When completing a directory with a large quanity of files and folders in the prompt, say with
:o
, if the directory in question has thousands of inodes, as does the/nix/store
when using Nix, for example, typing becomes extremely laggy and difficult. Even pasting text takes a long time, and worse, makes helix unresponsive until finished.I would guess that the entire directory is being crawled on each keystroke and that's why it takes so long.
Reproduction Steps
The following asciinema shows a text being pasted into the prompt directly from the system clipboard:
https://asciinema.org/a/kV7WxOfdvmFxNwEUsPzQPDogT
Helix log
No relevant log segment
Platform
Linux
Terminal Emulator
kitty 0.25.2
Helix Version
22.05
The text was updated successfully, but these errors were encountered: