Replies: 1 comment
-
Didn't spot this until now, sorry. The Lua one evaluates within Neovim itself, so no REPL required, same for the Fennel one. Aniseed provides in memory REPLs that evaluate in the built in Neovim Lua system. Racket and Python have fairly simple and standard CLIs for starting a REPL with little deviation and variety in the community, so I'm kinda okay with including a sub-process system for those with a single string to enable configuration of the command if required. Common Lisp and and Guile both work over a socket of some kind, same as Clojure (which we don't start REPLs for except for the babashka stopgap REPL). So it would mean Conjure would have to start a sub process and then connect to that new port. Conjure would have to pick a socket file location or port on your behalf as well as configure the process for you. It'd need to start and stop the process at the right times providing docs, a lot of config options and mappings to control it. This requires me to make assumptions about tooling and ecosystems for CL and Guile with how their REPLs are normally started and configured, something I'm not comfortable doing with those languages. I don't even start Clojure REPLs (except for babashka) and that's been my day job for years, there's just too many options so I'd rather leave it up to the user or another plugin like https://github.com/clojure-vim/vim-jack-in I'm trying my best to keep Conjure focussed on just selecting code, sending it to a REPL and showing the results in a manageable way you can iterate on. I don't want to get too bogged down in every client on managing their REPLs and being a "everything just works without any other steps" sort of experience. It's more mechanisms that can go wrong and I'll have to spend time on to maintain. So I guess I don't have concrete arguments, just that I don't have much time to maintain so many clients very deeply, so by deferring the REPL + socket part for some languages and letting the user do that I let them keep total power without adding maintenance burden and / or problems and bugs that I introduce from starting REPLs weirdly on your behalf. |
Beta Was this translation helpful? Give feedback.
-
I found that some languages works just after vim start (like lua, fennel, racket, python), when some others (like common lisp, guile) does not. The latter requires to start repl manually. What's the reason of it? Can I make them to also auto start? Is there any pitfalls?
Beta Was this translation helpful? Give feedback.
All reactions