-
Notifications
You must be signed in to change notification settings - Fork 8
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
Crashes Nova in large non-Golang project #17
Comments
Oh, that's funny! Because, indeed, the Go extension should only activate when you are in a Go repo. Or maybe not... hmm I wonder, do you have anything with the Go's templating system tends to use I'll try to reproduce that... because if that's what's happening, I'll have to re-read the documentation in order to see how to turn this behaviour off. The worst-case scenario is not to detect for Thanks for your report! |
@GwynethLlewelyn If you provide me with steps on how to determine whether or not the Go extension is running and which files it is running on, then I'll try to debug on my large TSC repo. To my knowledge there are no Something is causing gopls to run hot. This repo is so large that Nova struggles to keep up with indexing files. I don't know if the extension is checking every file to see if it's a |
Well, I don't really know how to check if an extension is running! You see, it works the other way round: AFAIK, extensions do not check files per se, they rely on the Nova host to call extensions whenever they are necessary... also, syntax highlighting etc. is supposed to be done only on the active window/tab (possibly getting cached afterwards, though), and not on files that may just happen to be around in the repo but which haven't been manually opened by the (human) user, although, again, this is a matter of speculation about the inner workings of Nova... Once an extension is running, however, then you can check for other things... for instance, this extension checks (albeit perhaps in a clumsy way...) if In other words, I also have no clue on how to figure out if the extension is running and on which files/tabs/windows it is currently active. I guess this could be hacked somehow, by writing or listing files on an external log or something similar, but that wouldn't help you a lot. Then again, Panic has been adding more and more functionality to Nova, so possibly there are new functions which do exactly that... I would need to read about them and see what kind of thing they return. I'm actually still struggling to find the cause of this issue. My current working assumption is that the initialisation code is not correct — possibly it's making far too many tests, most of which were sort of necessary on the earlier versions of Nova, but which might be redundant these days. I conjecture that this code might be called once per each file indexed, although, why that happens in your case but not in the tests I've made with what I considered to be a reasonably large project (with thousands of files) is still beyond my understanding. Perhaps I need to have hundreds of thousands of files to see anything go wrong — I don't know... Just by sheer curiosity, when you open the extension console, what kind of errors do you see? There should be, in the worst-case scenario, a handful of messages for each time the extension gets activated (not run), and possibly a few errors if the extension cannot contact However, I would expect you to see just one set of messages related to the first activation of the extension. In other words, you should only see those when you deactivate and activate the extension; you shouldn't get any messages at all if the extension has been enabled but is not active, because no |
So, the issue is actually in Nova most likely.
Although I'm not entirely sure why this issue pops up only for the Golang ext. |
Hello.
I'm not sure if there is a simple filter that can be applied to prevent running in a non-Go repo, or exactly what is going on here, but if I enable this extension and open up a very large TypeScript codebase (tens of thousands of files), this extension will go CPU crazy and eventually crash Nova.
There are no Golang files or files with a
.go
extension in this project folder. Just lots and lots of TypeScript (.ts
) files.It's not a deal breaker as I can disable the extension and re-enable it when needed. Thanks for the tool!
The text was updated successfully, but these errors were encountered: