liquidz / vim-iced

Clojure Interactive Development Environment for Vim8/Neovim
https://liquidz.github.io/vim-iced/
MIT License
516 stars 35 forks source link

Enable sideloader flag doesn't work #479

Closed Deraen closed 2 months ago

Deraen commented 3 months ago

Based on the docs g:iced#nrepl#enable_sideloader should make starting the sideloader automatic, but it doesn't seem to work.

Looking at the code, in nrepl.vim:

s:warm_up is responsible for checking the enable_sideloader flag and calling sideloader start.

s:connected should call s:warm_up BUT that code is after !iced#nrepl#is_supported_op('iced-version') check which returns an error if the op isn't available. So the if the middleware isn't available already, s:warm_up isn't called and the sideloader start isn't called automatically when it is needed.

liquidz commented 2 months ago

@Deraen Sorry for late reply. nREPL will remove support for sideloading and wrap-sideloader middleware, so I deleted sideloader supporting from vim-iced. https://github.com/nrepl/nrepl/pull/335

Deraen commented 2 months ago

Oh, it is a shame for my use case but I understand the nrepl reasoning.

I've used this in a project with ~30 nrepls servers in "microservices" started from docker containers, where modifying all those to enable the cider-nrepl & iced-nrepl would be inconvenient.

I wonder how much I even need those middleware now as I'm using lsp for many features cider-nrepl handled before, and I'm using vim-iced mostly just to send code to the repl?

Deraen commented 2 months ago

I see Nrepl still support dynamic loading of middleware introduced in 0.8, but I guess without the sideloader the namespaces to provide those middleware would need to be already available in the classpath to use.