Fork me on GitHub

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

❤️ 1

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:


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.


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


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


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.


And repeat works in terms of keys pressed.


Which I just don't have access to.


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


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


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)
shadow.user=> (shadow/repl :app)
> [:app] Compiling ...
[:app] Build completed. (56 files, 1 compiled, 0 warnings, 0.05s)


I think you're only missing the final "select" step as documented in the wiki :thinking_face:


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.