Fork me on GitHub
#conjure
<
2021-02-07
>
emilaasa07:02:51

Using and appreciating the new comment form bindings Olical! Good call to add teh full motion support

❤️ 1
Olical12:02:21

I just realised I didn't add vim-repeat support for things like <prefix>Ea) etc, not sure how easy or essential that is but still :thinking_face:

Olical12:02:49

I actually have no idea how you'd capture the keys used in a motion following <prefix>E..., or if it's possible at all.

dharrigan12:02:37

I think capturing 80% of the use cases is fine, there will always be cavets 🙂

dharrigan12:02:03

It mostly is to help often repeated actions, such as evaling a form, which already is sooo handy 🙂

Olical12:02:42

Yeah, I would love to make it so <prefix>E[some clever motion] was repeatable, but I just don't know how you'd do that with vim, like, no idea. I can't think of a way to get vim to give me that, all I get is some vague idea of "was the selection character or line wise and where does it start and end", not the characters that defined that range.

Olical12:02:50

And repeat works in terms of keys pressed.

Olical12:02:55

Which I just don't have access to.

Olical12:02:08

But I feel like some people manage this? So maybe one day I'll work it out!

coby20:02:31

Anyone know of a good guide step-by-step guide for setting up a shadow-cljs REPL for a :target :node-script environment? The shadow-cljs docs are pretty terse and I feel like I'm missing something. So far I can connect via :ConjureConnect 7001 but only to a plain Clojure REPL that doesn't understand shadow-cljs stuff like (ns my-ns (:require ["fs" :as fs])).

coby22:02:58

OK, I got it working by starting the shadow watch/REPL manually from within a plain clj-repl. That is, instead of:

npx shadow-cljs watch app
I did:
$ shadow-cljs clj-repl
shadow-cljs - config: /home/tamayo/projects/media-player/server/shadow-cljs.edn
shadow-cljs - connected to server
shadow-cljs - REPL - see (help)
To quit, type: :repl/quit
shadow.user=> (shadow/watch :app)
[:app] Configuring build.
[:app] Compiling ...
[:app] Build completed. (56 files, 55 compiled, 0 warnings, 8.63s)
:watching
shadow.user=> (shadow/repl :app)
> [:app] Compiling ...
[:app] Build completed. (56 files, 1 compiled, 0 warnings, 0.05s)
> 
per https://shadow-cljs.github.io/docs/UsersGuide.html#_nrepl_usage.

Olical10:02:46

I think you're only missing the final "select" step as documented in the wiki https://github.com/Olical/conjure/wiki/Quick-start:-ClojureScript-(shadow-cljs)#connect-and-select :thinking_face:

Olical10:02:06

So you set up your shadow-cljs nREPL server / build. Then you connect Conjure to it (which gives you a regular Clojure REPL, kind of the meta shadow REPL that lets you hop into other things) Then you use ConjureShadowSelect [build name] to switch that nREPL session over to your CLJS build and hook it up to your JS environment, such as your browser. All that Conjure command does is send the shadow-cljs build select code for you.