@mauricio.szabo Typo or duplicate line (in PR changes)?
• New autocomplete for Clojure without Compliment
• New autocomplete for ClojureScritp with Compliment
• New autocomplete for ClojureScript with Compliment
Copy-paste issues 🙂
Thanks for catching it, I think I've fixed it on changelog
The new release isn't actually available yet, is it?
Ah, no, not merged yet. I'm looking forward to removing Compliment as a dependency 🙂
oh! after #98 is ink no longer a requirement?
Ink is still used to display inline results, yes? It's just not used for the REPL console any more...?
Ink is still used to display inline results, but I'm thinking about removing it on a new version
The first versions of Chlorine used ink
extensively to generate the "results tree" and so on, but then I've migrated to Reagent, and now removed the console (also re-implementing it on Reagent) so there's little reason to keep the dependency
👍
As for the version, it's still not published, probably today or tomorrow. I'm just adding some documentation. Removing compliment from the classpath means a simpler autocomplete, that'll probably not get all cases, but it is better than nothing :)
Thank you @mauricio.szabo -- I really like the move to fewer dependencies and simpler tooling, as you know 🙂
Yes, the thing with Chlorine is that it can be as simple or complex as we want. I want to be able to detect if these "auxiliary libraries" are in the classpath and then use them, or simply fallback to a simple version 🙂
That's how our REPL-starter works at World Singles Networks. If REBL is on the classpath, it starts that. If nREPL is on the classpath, it starts that. Else it just starts a Socket REPL. So each developer (and each environment) can control what functionality they get, just based on using aliases with clj
to start things up.
Can we use Chlorine with nREPL too?
Chlorine uses a bare Socket REPL (only). If you start a REPL based on nREPL, you'll need to provide JVM options to start a Socket REPL as well. For example, in my ~/.lein/profiles.clj
file, I have a :socket
profile like this:
:socket {:jvm-opts ["-Dclojure.server.lein={:port 55555 :accept clojure.core.server/repl}"]}
so I can do lein with-profile +socket ,,,
and it will run the regular Leiningen command (`run`, repl
, whatever) and also start a Socket REPL on port 55555.Just for the record, I'm also adding a better way to extend Chlorine (so we don't need to require
EditorUtils anymore), and documenting it here: https://github.com/mauricioszabo/atom-chlorine/blob/extension-points/docs/extending.md
This will be present on the next release. I'm also not removing the old commands for now, so there's time to migrate 🙂
@mauricio.szabo Don't forget EditorUtils.findNsDeclaration(...)
(your docs don't mention it so I don't know whether you implemented and just didn't doc it or...)
Just looking at that PR and there's no equivalent to findNsDeclaration()
-- I use that in two one of my commands (and I can imagine others would too). The other usage was in calling the old evaluate and present API which no longer needs it
Also, what about calling evaluate on selections? Now that you've wrapped up text and range into a JS object, I guess users would have to build that themselves now. Not a big deal but might be a nice usability enhancement.