this may be a generic question about REPLs as I'm new to clojure, but whenever I connect to my lein repl session via proto-repl it seems they don't share state. for example, i have the following code:
(swap! loop-chan (fn [chan] (if-not chan (watch-db))))
basically the idea here is I don't want to start another go-loop (started by watch-db
) if i'm already doing it, that way if I reload a ns I don't start adding more threads.
however, when I connect via proto-repl, watch-db
is in fact called. is that expected?
@jtmarmon How exactly are you connecting ProtoREPL to your existing running session? Do you still have all the "reload" options enabled? That may well be wiping out your state.
@seancorfield unchecking "Refresh on REPL start" totally fixed my problem, thanks. it was driving me nuts because it was spawning a second background thread processing from a single blocking channel, so that meant items would alternate which background thread got to pull the item o_o.
follow up question: I want access to the same ns that my repl boots in by default (`myproject.repl`). when I type in use 'myproject.repl
into proto repl, I still don't seem to have access to the required modules like I do by default in my lein repl. any ideas on fixing that?
Hi, Firstly, thank you for the Proto REPL and this channel. My question is; When I run a function and it fails, an icon appears right down the function. It turns non-stoping and it never goes even if I edit the file. I need to close and reopen. First, I thought it might be about other packages like Ink, while trying to print inline results. However, this even happens when the only installed package is Proto REPL. I use the last version of Atom on a Mac. Here is the screenshot http://oi67.tinypic.com/2ns1h04.jpg Any ideas? Thank you!
hell guys, i am just getting into proto repl and just wondering, if two packages override the same shortcut, which one takes precedence ?
@jtmarmon My other question remains unanswered: How exactly are you connection ProtoREPL to your existing running session?
@sercanu that is definitely looks like a bug on my side since I created the loading icon for proto-repl. Nevertheless it seems pretty weird that it happens since it should be removed even if the expressions results in an exception. Would you mind submitting a bug on the proto-repl rep with some example code and linking me?
@pishty: it has to do with whichever package is more specific in its selector. Use the keybinding resolver to see what's happening when you press keys.
@carocad I realized this happens only while using Boot REPL. I created an issue with some details. https://github.com/jasongilman/proto-repl/issues/215 Thank you so much for your help.
@jasongilman One thing I’m running into is that we use Boot and have a bunch of different tasks that set up specific classpath contexts for starting a REPL with different code available. In Emacs, I could do C-u
before jacking in and that let me modify the Boot command used to start the REPL. Would that be easy to add to ProtoREPL?
For now I’ve just added a “broad spectrum” task to my Boot file that lets ProtoREPL start it with “most” code on the classpath, but it would be nice to be able to start REPLs with arbitrary commands easily from within ProtoREPL. Of course, ideally, it would be nice to have multiple active REPL support like CIDER allows in Emacs but I suspect that would be lot of work! 🙂