Please share your tips for a good Atom for Clojure setup!
I use Chlorine + Parinfer + language-clojure but I miss autocompletion and better editing/parens support. For example Ctrl-k deletes until the end of the line, not the end of the current expression. Typing (
inserts the closing one next to it: ()
while in IntelliJ it would wrap the following form. For autocompletion I guess you solve it by including compliment
in the REPL as Sean does (https://github.com/seancorfield/dot-clojure/blob/master/deps.edn#L72). For editting, do you need to install Paredit in addition to Parinfer to be able to slurp/burf/kill a form/…? What other improvements can you recommend? Thanks!
i am working on generating tags files using clj-kondo's analysis functionality - i've tested it a bit with atom's built-in go-to-declaration feature and am thinking about whether it might also be utilized for completion. this would get us some completion without having to run a repl which can be handy sometimes.
i think chlorine may have some completion support, btw.
don't yet have tips about editing
Chlorine should have autocomplete when connected to the REPL, even without compliment. Are you not seeing this behavior, @holyjak?
@holyjak I no longer use compliment now that Chlorine has built-in autocomplete. As for (
etc, I use the paredit package in Atom and that has wrap-with-( (and similarly for [ and {)
My installed packages for Atom, FYI
(! 1082)-> ls ~/.atom/packages/
README.md git-plus linter-joker
advanced-open-file highlight-selected linter-ui-default
atom-clock ink lisp-paredit
autocomplete-cfml intentions parinfer
busy-signal language-cfml set-syntax
chlorine linter tool-bar
thanks. do you use it with parinfer?
^ @holyjak both lisp-paredit
and parinfer
ah, I see, you do
I use both 🙂
I like Parinfer for its basic editing/indentation support. I like Paredit for structural editing.
See also https://github.com/seancorfield/atom-chlorine-setup for my additional commands/keymap etc.
ah, i started using linter-kondo recently -- seems to be working so far. installation seemed to be a bit awkward as the dependencies didn't all install at once -- e.g. the first thing mentioned was linter, which installed, but on restart, that asked for another, and so on.
on a separate note, i'm finding that things just stop working (e.g. go-to-declaration) without any error messages (even looking in devtools). sometimes restarting helps, but when that doesn't, quitting, running atom --safe, quitting, and starting again seems to resolve things often enough. is that something other folks are experiencing at all?
Occasionally, but I just disconnect the REPL and re-connect it and it starts working again. Never had to restart Atom etc.
nice! sadly even disconnecting the repl fails for me from time to time.
i presume it has to do with the os i'm using or some other setup aspect that i haven't managed to track down.