protorepl 2017-05-24

@cpmcdaniel has joined the channel

anyone trying to use Proto REPL with boot-cljs-repl?

I can basically get it to connect, but have all sorts of weird behavior

I’m having so much fun with Proto-REPL on my clj projects, I want that same experience with cljs

would you mind being more specific about "all sorts of weird behavior"? how are you connecting and what are you seeing?

ok, first I’m setting up a boot build pipeline at the command line

basically this:

OK, so I can open another terminal and type boot repl --client and it connects to the running REPL server

I can then execute (start-repl) (from boot-cljs-repl), and everything works fine

if, instead of launching boot the second time from the term, I setup proto repl to execute boot repl --client

it starts up in proto-repl tab

seems to work

until I try to eval a ns form

maybe I shouldn’t expect that to work…

hold on, I got an idea

OK, I’ve run (start-repl) in my ProtoREPL and reloaded my browser

connected! >> To quit, type: :cljs/quit cljs.user=>

oh, completion is hosed I think

maybe I just need to turn that off

I get errors every time I press a key

I have pull request that fixes some stuff with Figwheel, and it might actually also fix this same problem. But I haven't used boot really, so I'd need to actually set up a project and try it to be sure

I can’t seem to find the auto-complete setting now, but I know I’ve seen it before

yeah, it looks like autocompletion is still broken in Figwheel too even with the recent fix. I can look at that as well

it looks like proto-repl is using the compliment library for autocompletion, which still has a ticket open for supporting CLJS

yeah, I got the feeling it was trying to eval the CLJS code as CLJ instead

well, I’m willing to put some time into getting this working, but I’m going to need some guidance

Here's what I've got so far: Proto REPL's autocompletion call seems to be defined here: https://github.com/jasongilman/proto-repl/blob/master/lib/completion-provider.coffee#L30-L45 Here's the GitHub issue for the compliment library about adding CLJS support: https://github.com/alexander-yakushev/compliment/issues/42

OK, I will follow this

for now, I will deal with the inefficiencies of a browser auto-reload workflow

but I feel like that defeats a whole lot of the purpose of Proto-REPL

actually, I’m just using the clojure language mode at that point

or I will just use Proto-REPL for my CLJ dev and go back to emacs for my CLJS work