Internal tweaks and virtual text clearing improvements
Hello! I hope you're having a good week!
I've been using develop
for a while at work and I'm happy with the behaviour so I thought I'd cut a release ahead of my work on more testing and "hooks" which should allow everyone to "hook" into things like REBL to display evaluation results via some simple configuration!
- @daveyarwood improved the wording of the message you see if Conjure exits with an unexpected error code.
- I've removed medley as a dependency of Conjure's internal JVM, this might help startup time a tiny tiny bit, I only needed the
deep-merge
function from there anyway. - The Deoplete integration should handle restarts of Conjure's JVM now, which shouldn't happen unless things are exploding anyway, so hopefully you won't notice this one.
- Internal refactoring so that I can re-eval Conjure's internal RPC handling functions without restarting the whole thing.
- More refactoring so that the code to generate code to look up definitions for "go to definition" is implemented in terms of templated Clojure data, rather than string templates. This means there are no more string templates in
conjure.code
😄 - Changed virtual text so the clearing is more aggressive, the commit explains it a little.
commit 85d6d83deb94cc580df2f1979043244fdef2638a
Author: Oliver Caldwell <[email protected]>
Date: Sun Sep 22 16:02:06 2019 +0100
Make virtual text clearing more aggressive
So if you're not using any of the quick_doc tools it should still stay
clean. As long as you move your cursor around it should clear off that
pesky hanging virtual text.
This opens up more possibilities into virtual text information such as
progress of dependency injection.
plugin/conjure.vim | 30 ++++++++++++++++--------------
1 file changed, 16 insertions(+), 14 deletions(-)
- Capped hunting for a namespace name in a buffer, this should prevent massive buffers from causing the cursor to lag slightly (I mean 5k+ lines). There's still work to be done here to make the log buffer work a lot better when it's huge.
- Skip host+port combinations we're already connected to. So if you have some global config to connect to localhost:5555 and some project local config for the same, you won't get two connections. This prevents your evaluations from happening twice, the first connection will win.
With that last change, I was hitting the edge case at work where I had two configurations looking for a .prepl-port
file, both were finding the same file and connecting to the same port. I think this behaviour is undesired, so I removed it. Hopefully it's the right call.
Next up on my to do list is a bunch more unit and integration testing to give us some robustness in the face of changes and work on "hooks". The next update will probably be slightly breaking for those of you using the tools namespace refresh configuration, but it's for the best, I promise.
Have a great rest of your day and week!