atom-editor

Using the Atom editor with Clojure(Script) - tips, questions, plugins
Jakub Holý 2019-10-29T10:41:48.013800Z

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!

2019-10-29T13:41:48.019500Z

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.

2019-10-29T13:43:41.020900Z

i think chlorine may have some completion support, btw.

2019-10-29T13:46:16.021600Z

don't yet have tips about editing

mauricio.szabo 2019-10-29T13:47:13.022900Z

Chlorine should have autocomplete when connected to the REPL, even without compliment. Are you not seeing this behavior, @holyjak?

✅ 1
seancorfield 2019-10-29T15:26:29.024Z

@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 {)

seancorfield 2019-10-29T15:27:09.024300Z

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

Jakub Holý 2019-10-29T15:27:11.024400Z

thanks. do you use it with parinfer?

seancorfield 2019-10-29T15:27:35.024800Z

^ @holyjak both lisp-paredit and parinfer

👍 1
❤️ 1
Jakub Holý 2019-10-29T15:27:39.024900Z

ah, I see, you do

mauricio.szabo 2019-10-29T15:27:44.025100Z

I use both 🙂

seancorfield 2019-10-29T15:28:14.025900Z

I like Parinfer for its basic editing/indentation support. I like Paredit for structural editing.

seancorfield 2019-10-29T15:29:02.026400Z

See also https://github.com/seancorfield/atom-chlorine-setup for my additional commands/keymap etc.

❤️ 1
2019-10-29T19:25:20.028200Z

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.

2019-10-29T19:28:47.029700Z

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?

seancorfield 2019-10-29T20:22:09.030300Z

Occasionally, but I just disconnect the REPL and re-connect it and it starts working again. Never had to restart Atom etc.

2019-10-29T20:37:45.030900Z

nice! sadly even disconnecting the repl fails for me from time to time.

2019-10-29T20:38:11.031400Z

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.