Implicitly converted to a regex like /f.*o.*o/. The difference between exact matching and the default fuzzy matching is thatĮxact matching will only match file names that contain the exact string you typeĪs a substring, whereas fuzzy matching will match a broader selection. Into the helm dialog, I would enter a leading space character before typing out Instead of literally just typing logging.h The file I want to open is named logging.h (but I don't necessary know or want You simply precede the helm query with a space. Problem! It turns out that there's a simple way to disable helm fuzzy matching: Recently a fellow helm and projectile user at work found a solution to this The Solution: Exact Matching Helm Queries Would recommend only using this option as a last resort, if you've confirmed Manually refresh the projectile cache when you notice things are out of sync. If you use this option you'll have to periodically This means new files won'tĪppear in your queries, and old or moved files will appear even though they're One last note: if you turn on projectile-enable-caching the projectile fileĬache will get out of sync as the repository changes. This was also confirmed by looking at top while I would search for a file: the Emacs process was spinning at 100% CPU (in a single thread, of course), indicating that the time was spent by some CPU-bound operation in Emacs rather than waiting for the results of the git command. Took 0.40s wall time, so it only accounted for an insignificant fraction of the I confirmed this by running git ls-files a few times and found it only Unfortunately this didn't speed anything up. Generated once and then cached, avoiding the need to invoke git every Projectile-enable-caching will cause the git ls-files list to only be In, so git ignored files won't appear in the helm query. Helm-projectile-find-file only get a list of files that are actually checked This is done using git instead of just searching the filesystem to make Helm-projectile-find-file by invoking git ls-files every time it is invoked. The idea is that normally projectile generates the candidate list of files for Projectile caching: XXX: Don't actually do this! Was the projectile-enable-caching variable, which can be set to t to enable In my initial investigations to fix this the only thing I was able to find Responding to keystrokes if too many keypresses are typed blindly this way. Where sometimes the helm dialog will get out of sync and stop updating or Worse, there seems to be a race condition in helm in this situation, I would end up typing most of the file nameīlindly. Take helm several seconds to refresh after I typed the l, several more to If I was typing a file name like logging.h it would I'd hit SPC p f to find a file, and it would take 3-5 seconds to update the helm dialogĪfter every key stroke. Helm-projectile-find-file with fuzzy matching is very slow. Repository (containing well over 100k checked in files). This opens a fuzzy matching helm dialog that navigates the files in my currentĪ few months ago I started a new job where I'm working in a very large git Want to open a new file I type SPC p f to invoke helm-projectile-find-file. Popular Linux Distros Ubuntu 20.04 LTS (Focal Fossa) 73,250 Packages Ubuntu 22.04 LTS (Jammy Jellyfish) 69,543 Packages CentOS 8 / RHEL 8 15,935 Packages Ubuntu 18.04 LTS (Bionic Beaver) 77,372 Packages Ubuntu 16.04 LTS (Xenial Xerus) 61,875 Packages Ubuntu 21.04 (Hirsute Hippo) 36,998 Packages Ubuntu 20.10 (Groovy Gorilla) 33,295 Packages Ubuntu 21.10 (Impish Indri) 64,636 Packages Arch Linux 12,179 Packages Debian 11 (Bullseye) 58,819 Packages openSuSE Tumbleweed 48,211 Packages openSUSE Leap 40,198 Packages CentOS 7 / RHEL 7 650 Packages CentOS Stream 8 17,085 Packages Fedora 36 68,099 Packages Manjaro 12,617 Packages Debian 10 (Buster) 58,305 Packages Fedora 35 67,585 Packages Kali Linux 63,077 Packages Fedora 34 68,542 Packages Arch User Repository (AUR) 86,048 Packages Oracle Linux 8 19,969 Packages Ubuntu 22.10 (Kinetic Kudu) 67,133 Packages Amazon Linux 2 8,700 Packages Linux Mint 20.File completion using projectile as the backend.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |