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 ok so if I see right that basically says use lisp-paredit:indent
?
hah, and indeed that's the solution! thanks!
Any way to get the tree view of data in the REPL pane?
Is there a keystroke to change the REPL's namespace to match whatever file is being edited?
Is there a way to swap the roles of enter and shift-enter in the REPL?
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?
@lspector Have you tried leaving parinfer in paren mode?
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.
@seancorfield: that's great to hear!
I’m looking forward to your Sayid integration 🙂
@puzzler no to viewing tree view data in the REPL pane. That would be cool though.
@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.
@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?
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.
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.
Also for the best experience I recommend sending code from a file to the REPL instead of typing in the REPL itself.