@carocad: I took a look at your console code and it looks pretty good. I've got an idea for how to integrate it in and keep the existing REPL text editor. I'd prefer to do it that way so I can try it out for a while to make sure there aren't issues before making it the default.
The way to have both is to make the REPL text editor have the same methods as the console for any of the major methods like info, stderr, etc. Then during REPL startup it would check a property and if Atom ink console isn't enabled the REPL Text Editor class is instantiated and referred to as "console" in the Repl class.
I don't mind taking your code as is and integrating in that way or you can do it. It would be up to you.
I'd give you credit of course for all the changes.
@jasongilman: that's nice to hear 🙂 I think I would prefer to send you the code as it is right now given that I am only acquaintance with the proto-repl code as a whole. There are things like history keeping and startup which I think are very different among those two so I would prefer your eye on those. Don't mind the credit that much, I just did it because I wanted to help 😉. The ink package itself is now changing as well given the feedback from proto-repl's console so that makes me happy.
On a related note, you should now that the ink-console registers its own commands and (probably, though didn't check) also its own keybindings. I only checked that they were working but not a complete proto-repl backward integration. The clearest example is the evaluate command
which proto-repl can't recognize anymore as the pane is not a Clojure-editor.
Ok that's good to know about the keybindings. Is your branch up to date with the latest changes?
everything but the latest PR which you already merged should be up to date.