-
Notifications
You must be signed in to change notification settings - Fork 1
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
background static analysis for multiple projects loaded on Emacs startup #1
Comments
Spacemacs also blocked when loading in a perspectives file that contains multiple Clojure projects, until static analysis has completed. |
For the moment, I have commented out the code in
|
Making analysis happen async in the background is still a goal of mine. But it requires a certain level of refactor and adds a bit of complexity. I'm thinking an alternate solution that gives us 80% of the benefits is to cache the analysis to a file. I'm thinking I can key the cache on the deps.edn last modified timestamp. So if you haven't changed your dependencies, it won't need to rerun analysis. Source code changes, if they are all made inside Emacs with anakondo turned on should automatically update the cache. Right now it does so when you call for completion, but I could make it more robust and have it re-run per-file when the buffer is saved as well. Single file analysis is really quick, so users wouldn't even notice this happens after save. So the issues with this would be:
Whenever the user feels things are out of sync, they can force refresh the cache with I think implementing this wouldn't take me very long, compared to async analysis, so I might start with it, and postpone the work for async analysis. One more consideration:
Another consideration, where to put the cache directory or file? Options are:
|
Some projects use |
When using anakondo with Spacemacs (develop) and multiple projects are re-opened on restarting, interaction with Spacemacs is blocked until static analysis is complete.
To reproduce:
Spacemacs configuration
anakondo is added to the
dotspacemacs-additional-packages '(anakondo)
list which downloads the package.anakondo is enabled by including the following in
dotspacemacs/user-config
The text was updated successfully, but these errors were encountered: