protorepl

cpmcdaniel 2017-05-24T21:10:09.176413Z

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

cpmcdaniel 2017-05-24T21:10:41.186639Z

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

cpmcdaniel 2017-05-24T21:13:43.240880Z

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

rgdelato 2017-05-24T21:14:47.259984Z

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

cpmcdaniel 2017-05-24T21:16:21.287114Z

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

cpmcdaniel 2017-05-24T21:16:27.289035Z

basically this:

cpmcdaniel 2017-05-24T21:17:27.306341Z

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

cpmcdaniel 2017-05-24T21:17:50.313244Z

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

cpmcdaniel 2017-05-24T21:18:30.324477Z

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

cpmcdaniel 2017-05-24T21:18:38.326958Z

it starts up in proto-repl tab

cpmcdaniel 2017-05-24T21:18:46.329049Z

seems to work

cpmcdaniel 2017-05-24T21:18:54.331430Z

until I try to eval a ns form

cpmcdaniel 2017-05-24T21:19:08.335330Z

maybe I shouldn’t expect that to work…

cpmcdaniel 2017-05-24T21:19:27.340588Z

hold on, I got an idea

cpmcdaniel 2017-05-24T21:21:34.376242Z

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

cpmcdaniel 2017-05-24T21:21:47.379733Z

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

cpmcdaniel 2017-05-24T21:22:04.384392Z

oh, completion is hosed I think

cpmcdaniel 2017-05-24T21:22:11.386481Z

maybe I just need to turn that off

cpmcdaniel 2017-05-24T21:22:25.390565Z

I get errors every time I press a key

rgdelato 2017-05-24T21:24:04.418832Z

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

cpmcdaniel 2017-05-24T21:25:33.444167Z

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

rgdelato 2017-05-24T21:35:51.618036Z

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

rgdelato 2017-05-24T21:44:18.751721Z

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

cpmcdaniel 2017-05-24T21:48:35.817703Z

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

cpmcdaniel 2017-05-24T21:52:08.871394Z

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

rgdelato 2017-05-24T22:03:54.051867Z

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

cpmcdaniel 2017-05-24T22:19:30.262137Z

OK, I will follow this

cpmcdaniel 2017-05-24T22:20:16.271716Z

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

cpmcdaniel 2017-05-24T22:20:50.278796Z

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

cpmcdaniel 2017-05-24T22:21:05.282003Z

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

cpmcdaniel 2017-05-24T22:22:27.298965Z

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