I'm not really the audience for this as I don't use the REPL prompt much, but this is shaping up nicely.
Thanks, I don't either ๐
@brandon.ringe thanks so much for this, this makes a huge difference to the usability of the repl!
this is working really well for me
the one issue i found is when editing a multiline form, alt+down works to move a line down, but alt+up doesnโt work to move a line up.
personally tho iโd actually rather alt+up/down always move up/down through history if youโre editing anywhere in the last form.
re: ways of using clj-kondo without adding it to the classpath: how often and when do you invoke clj-kondo for analysis?
I was thinking, if this is only once, you could also use the uberjar to avoid dependency conflicts?
It's called basically every time the user types in an editor. So very often. This is for the decorating instrumented functions (declarations and usages), so if the function is foo
and the user backspaces to make fo
the decoration will disappear because analysis/decorations ran again.
Yes, makes sense.
Then the only other options to separate deps are maybe something like a boot pod (works with classloaders), a separate REPL or indeed your own LSP server implementation that uses the clj-kondo lib
I think going the LSP route is very natural for VSCode
I think so too.
Btw, unrelated, but I was wondering why you like to sort requires in ns declarations. You mention you used it often in emacs. I have never found a need to sort them, though my brain does like organized things. To me it seems just visually pleasing and not functional, but I imagine you have reasons.
I'm always looking to find ways to improve my clojure workflow :simple_smile:
I adhere to this style guide mostly: https://github.com/bbatsov/clojure-style-guide#sort-requirements-and-imports
Oh I see, so pretty much just style, which I do agree is important still. Luckily clj-kondo warns me of duplicates ๐ . But I realize some people may not use it. Anyway, we should add this sorting. Style is important.
I've just realized that it's now possible to shrink and expand parts of the evaluation result in the new output file, which is kind of similar to LightTable approach. Another benefit of the new output. I'm not used to it yet, but seems like a very nice feature ๐
It might be worth mentioning in the docs:
Yes. That should be mentioned. PR?
Yeah, I'll try to make it. Need to learn all the shortcuts for different OSes for that :)