protorepl

martinklepsch 2016-12-10T06:16:28.000228Z

So Jason's talk at the conj encouraged me once again to try atom. And nearly everything is great but indentation for Clojure code is just a mess. Like this is the result of auto-indenting a region:

(ns com.martinklepsch.inliner
  (:require [net.cgrand.enlive-html :as enl]
    [<http://clojure.java.io|clojure.java.io> :as io]
    [boot.core :as boot]
    [boot.util :as util]))
How do you deal with this? AFAIK Atom's indentation stuff is based on regexes and just breaks for anything lisp-y so it always seemed a bit hard to solve but I guess people using Atom have a solution in one way or the other?

fellshard 2016-12-10T06:39:13.000229Z

martinklepsch 2016-12-10T08:56:47.000230Z

@fellshard ok so if I see right that basically says use lisp-paredit:indent?

martinklepsch 2016-12-10T08:58:54.000231Z

hah, and indeed that's the solution! thanks!

puzzler 2016-12-10T19:40:08.000233Z

Any way to get the tree view of data in the REPL pane?

puzzler 2016-12-10T20:12:08.000234Z

Is there a keystroke to change the REPL's namespace to match whatever file is being edited?

puzzler 2016-12-10T20:12:34.000235Z

Is there a way to swap the roles of enter and shift-enter in the REPL?

puzzler 2016-12-10T20:13:47.000236Z

It appears that the ProtoREPL is being launched with a classpath that isn't seeing all the files in my src directory. How can I further diagnose this?

puzzler 2016-12-10T21:07:43.000237Z

@lspector Have you tried leaving parinfer in paren mode?

seancorfield 2016-12-10T21:35:09.000238Z

Per my comment above, I used Proto REPL exclusively as my editor on Thursday / Friday. On Thursday I reverted to Emacs for Git (I love magit!) but on Friday I decided to avoid Emacs entirely and use SourceTree for Git instead. Overall, those two days went very well and I think I’m sold on Proto REPL at this point.

❤️ 1
jasongilman 2016-12-10T23:47:21.000239Z

@seancorfield: that's great to hear!

seancorfield 2016-12-10T23:48:00.000240Z

I’m looking forward to your Sayid integration 🙂

jasongilman 2016-12-10T23:48:00.000241Z

@puzzler no to viewing tree view data in the REPL pane. That would be cool though.

jasongilman 2016-12-10T23:50:03.000242Z

@puzzler: keystrokes are all completely customizable in Atom. The keybinding inspector can help show what's being called. The atom documentation is pretty good at describing how it all works.

jasongilman 2016-12-10T23:51:44.000243Z

@puzzler: that's odd about the classpath. My hunch is that its starting leiningen without using your project.clj. Are you using Lein? Does it see some of your files or none of them?

jasongilman 2016-12-10T23:52:53.000244Z

Note you can start the REPL without any leiningen file and it will load a default project. If it can't find a project file it will use the default. The REPL will print out which one its using.

jasongilman 2016-12-10T23:55:44.000246Z

Also I recommend trying out features and seeing how the demo project is setup. It expects you're using clojure.tools.namespace for example to load all of your code. It's not required but works best with it.

jasongilman 2016-12-10T23:56:11.000247Z

https://github.com/jasongilman/proto-repl-demo

jasongilman 2016-12-10T23:58:21.000249Z

Also for the best experience I recommend sending code from a file to the REPL instead of typing in the REPL itself.