conjure

:neovim:+:clj: https://github.com/Olical/conjure - If you're enjoying Conjure and want to say thanks: https://github.com/users/Olical/sponsorship :smile: (alt https://conjure.fun/discord)
emilaasa 2021-02-07T07:45:51.074700Z

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

❤️ 1
2021-02-07T12:17:50.077400Z

2021-02-07T12:17:59.077500Z

2021-02-07T12:18:06.077600Z

Olical 2021-02-07T12:19:21.078200Z

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:

Olical 2021-02-07T12:27:49.078400Z

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.

dharrigan 2021-02-07T12:32:37.078600Z

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

dharrigan 2021-02-07T12:33:03.078800Z

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

Olical 2021-02-07T12:33:42.079Z

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.

Olical 2021-02-07T12:33:50.079200Z

And repeat works in terms of keys pressed.

Olical 2021-02-07T12:33:55.079400Z

Which I just don't have access to.

Olical 2021-02-07T12:34:08.079600Z

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

coby 2021-02-07T20:26:31.087100Z

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])).

coby 2021-02-07T22:13:58.090900Z

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.

Olical 2021-02-08T10:46:46.091Z

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:

Olical 2021-02-08T10:48:06.091200Z

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.