Fork me on GitHub
#protorepl
<
2017-11-16
>
fabrao13:11:16

Hello @seancorfield, sorry bothering you, but did you see many differences about using Atom + Protorepl and Emacs + Cider ? What kind of tools do you use in your code editor to automatic indent? What packges do you use in Atom to be more productive using clojure?

seancorfield16:11:24

I followed Jason Gilman's "opinionated" setup (except for turning off the three auto-refresh options). So that includes paredit and parinfer. @fabrao

Anthony Ciacci16:11:57

Is the autocomplete for clojure files in Atom sufficient for you guys? I’m talking about outside of the repl. Mine seems spotty/doesn’t really seem to detect the vars available in a given namespace, but I’m thinking it has something to do with my Atom setup. Thinking about just nuking Atom and reinstalling :thinking_face:

mattly17:11:00

if anything I think the autocomplete is too aggressive

seancorfield17:11:08

@ciacci1234 Auto-complete works in two ways in Atom: without code eval'd into the REPL, it just auto-completes on the code it has seen open in tabs, during this editing session; with code eval'd into the REPL, it auto-completes off all the symbols it can find "in memory" (so, all of clojure.core and any namespaces you have required into the current ns.

Anthony Ciacci17:11:10

okay thanks, that helps! I don’t think that kind of behavior is happening, so I’m probably gonna go ahead and reinstall Atom. Good excuse to review and clean up my packages anyways 👌 Appreciate it!

rcolyer21:11:11

I'd love to have proton, proto-repl in VSCode. I guess not having something like ink for VSCode is at the very least a show-stopper

gdeer8121:11:53

for evaluating forms in atom I'm using the default control comma and b but that feels so awkward vs what my muscle memory wants me to do control x and e (the emacs keybinding I have) Does anyone have a key combo that feels more natural or did you just change the key bindings to match emacs?

seancorfield21:11:33

I'm on a Mac so opt-cmd-b is evaluate form and opt-cmd-shift-b is evaluate top-level form, which I like.

seancorfield21:11:48

Can't remember how much I've customized my keymap tho'...

seancorfield21:11:13

https://github.com/seancorfield/proto-repl-setup/blob/master/keymap.cson (my other tweaks are in that repo too -- but not settings since it differs between Mac and Windows)

gdeer8122:11:03

I also find it kind of annoying switching projects. removing the current project folder and adding a new one seems kind of tedious, so I was thinking of just adding my entire <clojure_projects> folder to the workspace and then when I want to switch I just kill the repl, open up a different project.clj and then fire up the repl again. or I could just try to stick with one project for more than an hour, but I can't guarantee that

Anthony Ciacci22:11:46

yeah, I currently just have a few Atom windows open with different projects and just fire up a repl on each one of them. Not the greatest, but good enough for now!

seancorfield22:11:10

@gdeer81 I have eight projects open in Atom right now -- varies between six and a dozen. Since nearly all of them use Boot, it's pretty easy to just add all the dependencies I need to a single REPL at any point. Then I only need to kill & restart the REPL if I have conflicting dependencies in different projects.

gdeer8122:11:19

Okay, good, I just wanted to make sure I wasn't trying anything that will break it

seancorfield22:11:21

Leiningen makes that harder, since project.clj is declarative and can't just be "eval'd" into an open REPL. Boot's build.boot has executable code and (set-env! :dependencies '[[...] [...] [...]]) can just be evaluated in the REPL and those dependencies get fetched and loaded without a restart.

seancorfield22:11:10

And if your apps are all built around Component, you can easily define and start multiple applications in a single REPL as long as they don't conflict on ports or classpath resources (something we're fairly careful about since we have over half a dozen Clojure web apps in our mono-repo now and can run them all in one REPL 🙂 )

gdeer8122:11:29

oh wow, I need to get on that level

gdeer8122:11:01

I've been putting off learning boot and component for too long

Anthony Ciacci23:11:55

Update on my autocomplete issue, I decided not to reinstall atom because I was able to get the expected behavior for the proto-repl-demo project, and I actually didn’t have many additional packages installed, so it is unlikely package interference is at play. I checked the project.clj files for my projects where I am encountering the problem and I noticed that they all specify org.clojure/clojure "1.9.0-alpha17" While in the proto-repl demo 1.8.0 is specified. Does anyone think that could be the issue?

Anthony Ciacci23:11:14

Or rather is anyone running 1.9.0-alpha17 as well?