joyride

pez 2022-04-27T08:47:14.410489Z

/github subscribe BetterThanTomorrow/joyride

pez 2022-04-27T08:47:51.199599Z

/github unsubscribe BetterThanTomorrow/joyride commits

2022-04-27T08:48:20.050589Z

borkdude 2022-04-27T08:48:33.891409Z

@pez I'm at the keyboard now. Wife is gone for a few hours so can talk freely via mic ;). Will spike the nREPL for 1 hour

pez 2022-04-27T08:48:58.330139Z

πŸš€

pez 2022-04-27T08:49:17.023939Z

Maybe not huddle then, because focus?

borkdude 2022-04-27T08:50:11.438229Z

ok, 1 hour focussed nREPL ;)

pez 2022-04-27T09:07:54.486859Z

This a bit similar to Joyride: https://github.com/nurmohammed840/extension.vsix/tree/Script (added it as a bookmark to the channel as well.

borkdude 2022-04-27T09:23:43.667669Z

@pez almost there, maybe...

Could not write .nrepl-port Error: EROFS: read-only file system, open '.nrepl-port' 

pez 2022-04-27T09:24:10.447769Z

Hmmm. Huddle?

borkdude 2022-04-27T09:24:15.611279Z

pushed initial commit to master now

borkdude 2022-04-27T09:24:16.903169Z

ok

rayat 2022-04-27T09:48:51.986489Z

@rayatrahman9 has joined the channel

Cora (she/her) 2022-04-27T10:26:39.718369Z

@corasaurus-hex has joined the channel

2022-04-27T10:38:07.953209Z

2022-04-27T10:38:28.304179Z

borkdude 2022-04-27T11:07:52.235849Z

nREPL demo: https://twitter.com/borkdude/status/1519272015705911296 btw @pez good news, the autocompletion also seems to work

1
1
πŸŽ‰ 1
pez 2022-04-27T11:13:12.670039Z

Thanks, @borkdude! It's amazing!

πŸŽ‰ 1
pez 2022-04-27T11:20:36.349389Z

An ”Announcement from the future” about Joyride. It's a tool for letting us know where we are going with this, and for checking what's still TODO, and for calibrating what is done. I'll pin this post to the channel.

borkdude 2022-04-27T11:28:53.286129Z

So when can we haz our first marketplace release? :-D

pez 2022-04-27T11:40:14.032709Z

Thinking we should push it there about now, but maybe hold off the announcement until I have been able to think about that a bit.

borkdude 2022-04-27T11:40:27.796469Z

I'll let you do that announcement :)

pez 2022-04-27T11:40:53.414309Z

πŸ˜‚

borkdude 2022-04-27T12:00:33.568289Z

@pez :)

1
1
borkdude 2022-04-27T12:06:43.466489Z

Btw this works for spawning a new code instance:

(require '["child_process" :as process])
(process/exec "code .")

1
borkdude 2022-04-27T12:07:48.663699Z

Executing bb:

pez 2022-04-27T12:10:06.982529Z

It spawns a new window and not a new instance of code, if code is open, right? Which is what we want, of course.

borkdude 2022-04-27T12:10:21.351899Z

I think so

pez 2022-04-27T12:10:41.132889Z

Well, that's what happens from the terminal πŸ˜ƒ

borkdude 2022-04-27T12:39:41.614229Z

I accidentally clicked away my terminals

borkdude 2022-04-27T12:39:44.456519Z

while making a demo

borkdude 2022-04-27T12:39:47.791649Z

how can I get them back?

borkdude 2022-04-27T12:42:10.825229Z

opening a new terminal manually works, but I'm creating a terminal programmatically

borkdude 2022-04-27T13:16:25.004709Z

I posted a demo here. We can use the "vsjoyride" hashtag on twitter since nobody else seems to use that

borkdude 2022-04-27T13:16:45.886919Z

(joyride was already used too much)

borkdude 2022-04-27T13:18:00.464769Z

(updated the link)

2022-04-27T13:20:49.184219Z

@audiolabs has joined the channel

2022-04-27T13:22:25.987009Z

good morning, what's the path to getting jumpstarted with joyride? I have tons of automation around clojure/editor/general-computer stuff (I use voice for computer control) and I'd love to give this a spin asap.

πŸ‘€ 1
borkdude 2022-04-27T13:22:47.983449Z

@audiolabs Let me compile a vsix for you ;)

pez 2022-04-27T13:23:24.520039Z

πŸ‘‹

2022-04-27T13:23:31.914929Z

⚑

borkdude 2022-04-27T13:24:49.524669Z

If you want more development versions, just execute vsce package from the repo. We should hit the marketplace soon I think

borkdude 2022-04-27T13:44:59.202349Z

https://marketplace.visualstudio.com/items?itemName=betterthantomorrow.joyride Removed the VSIX in favor of the marketplace

2022-04-27T13:25:21.693369Z

Nice. I'll see what I can do in the next day or so.

2022-04-27T13:25:54.059099Z

maybe conspicuously be messing with it with rich over my shoulder ;)

πŸ’ͺ 1
borkdude 2022-04-27T13:26:12.957049Z

Does Rich use VSCode? ;)

2022-04-27T13:27:39.777439Z

No, and that's not going to change... but I do have a reason for pointing it out :)

borkdude 2022-04-27T13:26:47.217989Z

I just added a terminal.cljs example here: https://github.com/BetterThanTomorrow/joyride/blob/master/examples/terminal.cljs If you have any cool examples to add, please make a PR :)

pez 2022-04-27T13:28:50.123849Z

If I were Rich I would smile some extra when seeing Clojure reach new territory. πŸ˜ƒ

borkdude 2022-04-27T13:29:03.118209Z

Clojure all teh things!

borkdude 2022-04-27T13:29:33.239079Z

Or maybe he would think: oh god no, that's not how intended Clojure to be used, what an awful hack ;)

πŸ˜‚ 2
2022-04-27T13:30:59.121479Z

it's not a "maybe" πŸ™‚

borkdude 2022-04-27T13:32:52.124359Z

Ah well, at least we are having fun, despite his opinion 😒

2022-04-27T13:35:06.834049Z

it never stops at the "WTF" point, there's always an intensely curious and supportive followup

2022-04-27T13:35:48.454629Z

I think that happens to most of use clojurists when we look at other things too πŸ™‚

borkdude 2022-04-27T13:36:31.855419Z

exactly

borkdude 2022-04-27T13:37:25.408169Z

I think our biggest user base should probably come from Calva users who want to automate some of their editor stuff, since they 1) Already use VSCode, 2) Already use Clojure, 3) Are developers who likely want to automate / hack

pez 2022-04-27T13:41:40.196239Z

I think 3 is pretty huge and want to figure out ways to reach them.

pez 2022-04-27T13:43:24.836279Z

Zero downloads? 😭 https://marketplace.visualstudio.com/items?itemName=betterthantomorrow.joyride

πŸŽ‰ 1
borkdude 2022-04-27T13:45:25.703019Z

@pez If you're going to tweet about it, please use the vsjoyride hashtag

borkdude 2022-04-27T13:45:43.380199Z

I'll mention that in the README, so people can follow news about it

pez 2022-04-27T13:45:59.586279Z

Awesome.

borkdude 2022-04-27T13:47:38.694539Z

https://github.com/BetterThanTomorrow/joyride#twitter

1
2022-04-27T13:56:56.663049Z

Would you like this put in the clojure deref this week?

Cora (she/her) 2022-04-27T14:01:29.434049Z

ooooh do you prepare the deref every week?

borkdude 2022-04-27T15:47:49.698139Z

@audiolabs Deref should be good!

2022-04-27T15:48:43.361739Z

@borkdude Let me know what you'd like to be linked and I'll get it in.

borkdude 2022-04-27T15:49:07.997419Z

@audiolabs I think the github repo should be OK

2022-04-27T15:49:46.191039Z

@corasaurus-hex I work on the Clojure/Datomic team w/Alex et al. and I help with deref occasionally.

Cora (she/her) 2022-04-27T15:50:28.167559Z

ahhh ok. I burnt out on putting out clojure morsels and was wondering how y'all made it sustainable

Cora (she/her) 2022-04-27T15:50:38.244419Z

but i can ask another time

Cora (she/her) 2022-04-27T15:50:42.660459Z

i need to run

2022-04-27T15:52:50.497719Z

@corasaurus-hex the short of "how it's sustainable" is that Alex is an absolute beast of a human that somehow manages to consistently do the work of 20 people πŸ™‚

1
Cora (she/her) 2022-04-27T16:20:36.592439Z

well, then!

Cora (she/her) 2022-04-27T16:20:51.389269Z

I am, unfortunately, just a 1x developer

borkdude 2022-04-27T16:22:14.680579Z

@corasaurus-hex I've seen the same thing happening with other people who have their own news letter. Goes on a for a while but then months of radio silence, then another one, etc. I've suggested to one of them to make it more of a community effort, e.g. a github repo where people can just PR and have multiple people who can merge PRs and then automate the publishing of the weekly newsletter

borkdude 2022-04-27T16:22:36.808069Z

But he wasn't interested in that as the fun for him was more in collecting these things personally and making a personal comment on them. Could still be a good idea though

borkdude 2022-04-27T16:25:11.273679Z

But having your own personal news letter and not doing anything for a while is totally fine too

πŸ‘ 1
Cora (she/her) 2022-04-27T16:30:20.816779Z

I've thought about that and had it suggested by others but I'm not sure how to set that up. I guess I could put energy into that

Cora (she/her) 2022-04-27T16:30:44.609999Z

it would be nice for it to live on

pez 2022-04-27T14:00:06.212889Z

I think so. I just want people to understand the WIP nature of this thing. We have whipped it together in some spare time since Saturday. Though, of course @borkdude has done some gigantic heavy lifting before that to make it even possible.

pez 2022-04-27T14:01:27.012359Z

VS Code has crashed on me twice today. Something that has never happened before (it never crashes!). I don't actually suspect Joyride, but anyway, strange coincidence...

pez 2022-04-27T14:06:27.149049Z

Did you have a demo video I can attach in a post to #announcements, @borkdude?

borkdude 2022-04-27T14:37:59.421659Z

@pez Dude, just search the joyride hashtag on twitter for videos :)

borkdude 2022-04-27T14:38:13.982009Z

or do you want a file?

borkdude 2022-04-27T14:39:17.082739Z

here you go, a gif: https://www.dropbox.com/s/stw2pwfuvmiayb4/joyride_term.gif?dl=0

pez 2022-04-27T14:39:28.269849Z

Yes, a file. I want something for #announcements

pez 2022-04-27T14:39:48.218929Z

I'm recording myself an mp4 now.

pez 2022-04-27T14:40:08.490479Z

Ah, maybe a GIF would work. Thanks!

borkdude 2022-04-27T14:40:13.910939Z

it's an animated gif I recorded

pez 2022-04-27T14:40:39.173989Z

Yes, with the terminals. That's the one I wanted. Perfect.

borkdude 2022-04-27T14:42:48.732049Z

@pez do you think a roxette picture would work better as the logo? ;)

pez 2022-04-27T14:43:10.068429Z

Haha.

pez 2022-04-27T14:43:32.586289Z

Let's see if we can get ourself a proper logo.

borkdude 2022-04-27T14:43:41.404859Z

ok :)

pez 2022-04-27T14:44:00.474939Z

I fear the copyright trolls. πŸ˜ƒ

borkdude 2022-04-27T14:44:12.737819Z

where did you obtain the current placeholder from?

pez 2022-04-27T14:44:30.967139Z

I drew it. πŸ˜ƒ

borkdude 2022-04-27T14:44:40.098319Z

haha awesome

borkdude 2022-04-27T14:44:49.481279Z

ok, ready for lift-off

2022-04-27T14:51:18.965759Z

@wilkes has joined the channel

JoΓ£o Nascimento Mello 2022-04-27T15:16:15.290699Z

@jgnmello has joined the channel

2022-04-27T15:20:06.151129Z

@rfhayashi has joined the channel

Aleed 2022-04-27T15:27:53.715719Z

@alidcastano has joined the channel

bringe 2022-04-27T15:35:40.290999Z

@brandon.ringe has joined the channel

bringe 2022-04-27T15:56:42.973129Z

Congrats on this! gratitude

❀️ 3
rayat 2022-04-27T17:22:17.911709Z

Trippy stuff, this is so cool. Does this then scratch that itch that was being discussed some time ago somewhere in this slack workspace, something about the clover extension or something?

pez 2022-04-27T17:22:47.336249Z

This was what I was referring to there, yes. πŸ˜ƒ

πŸŽ‰ 1
rayat 2022-04-27T17:22:48.290479Z

I'd love to see people share snippets or scripts - I know I'd want to use this but am too un creative to think about the things I'd want to do

pez 2022-04-27T17:24:58.772429Z

We could make some repo indexing gists, maybe. πŸ˜ƒ That could become a cool shared library of scripts and Joyride could make them available in some fuzzy-searchable way.

1
borkdude 2022-04-27T17:27:14.642539Z

The examples directory is intended for that

borkdude 2022-04-27T17:41:58.648089Z

So if you have a nice example, just put it there

Cora (she/her) 2022-04-27T18:03:01.826289Z

a text editor with an embedded lisp!?

Cora (she/her) 2022-04-27T18:03:06.216959Z

lol

Cora (she/her) 2022-04-27T18:03:09.255959Z

I love it

Cora (she/her) 2022-04-27T18:06:15.213889Z

ETA until we make a vscode editor-wide init script with all your packages and settings?

Cora (she/her) 2022-04-27T18:06:42.561089Z

(I legitimately want that)

borkdude 2022-04-27T18:16:56.873929Z

@corasaurus-hex If the VSCode API allowed that, then you could do it. But that's as much as where joyride can help (it seems not)

borkdude 2022-04-27T18:18:25.835109Z

Maybe there is some JSON file you can update programmatically and then restart VSCode to let it install packages

Cora (she/her) 2022-04-27T18:23:29.665779Z

it looks like you could set settings

borkdude 2022-04-27T18:24:02.126529Z

if you figure that out, please, an example of that in examples would be terrific :)

Cora (she/her) 2022-04-27T18:24:02.493779Z

but that's it terribly interesting

borkdude 2022-04-27T18:24:32.054859Z

is it terribly interesting or not?

Cora (she/her) 2022-04-27T18:25:21.734699Z

not, sorry

Cora (she/her) 2022-04-27T18:25:27.772289Z

thanks autocorrect

Cora (she/her) 2022-04-27T18:26:52.926419Z

that project I linked does the init script deal and has examples for changing settings. the single activationEvent it has in package.json is "*"

borkdude 2022-04-27T18:27:11.915629Z

@corasaurus-hex You could do:

(require '["child_process" :as process])
(process/execSync "code --install-extension ms-vscode.csharp")

Cora (she/her) 2022-04-27T18:27:25.923529Z

ooooh

Cora (she/her) 2022-04-27T18:28:29.324029Z

it can list extensions, too

Cora (she/her) 2022-04-27T18:29:31.202989Z

this might be neat to do

borkdude 2022-04-27T18:29:35.094699Z

But this way you don't even need to use joyride, it could be a bb script too

Cora (she/her) 2022-04-27T18:29:38.745429Z

I'll keep it in mind

Cora (she/her) 2022-04-27T18:31:21.659059Z

oh, for sure, but you'd need to be running within the vscode process in order to also change settings

borkdude 2022-04-27T18:33:28.058339Z

πŸ’‘

pez 2022-04-27T18:43:38.625449Z

If you are outside the process you can edit settings files.

Cora (she/her) 2022-04-27T18:44:26.932789Z

hmm that's true

pez 2022-04-27T18:53:45.828199Z

We’re going to add init scripts so you'll have both options.

πŸŽ‰ 1
Cora (she/her) 2022-04-27T19:03:21.895879Z

I wonder if this would be good for automated testing of vscode, too

Cora (she/her) 2022-04-27T19:06:21.917429Z

so many possibilities!!

borkdude 2022-04-27T19:16:56.759969Z

Also, if any of you find any new ways of using joyride, please share those examples here and on twitter (hashtag: vsjoyride)

borkdude 2022-04-27T19:17:44.732399Z

As this project is young, it's as much a discovery for me and probably @pez as it is for y'all :)

βž• 1
seancorfield 2022-04-27T22:04:34.493169Z

@seancorfield has joined the channel

pez 2022-04-27T22:06:48.759479Z

I'd like to have a name for Joyride scripts. I've started calling them Joyscripts. Anyone has some ideas around this? Joylets?

seancorfield 2022-04-27T22:07:38.362199Z

I am here with a question. Well, two questions. 1. With what's exposed to sci in joyride, can you get at the current selected text in the current editor panel? 2. Can you get at the Calva extension via joyride and call into any of its code?

seancorfield 2022-04-27T22:08:41.284709Z

(my thinking is: I currently use Clover with a lot of customization because it uses sci to let you drive parts of Clover so this feels like something joyride could do with Calva and nREPL...?)

seancorfield 2022-04-27T22:09:05.352159Z

Clover has exposed an abstraction over the "editor" I think?

seancorfield 2022-04-27T22:09:52.951729Z

p/let is an async promise macro I think...

borkdude 2022-04-27T22:09:54.580189Z

@seancorfield in joyride you can use the VSCode API, there is no limitation as long as VSCode provides an API for it. Calling other extensions: this depends on what the extension "exports", you can call that via the VSCode extension API

borkdude 2022-04-27T22:11:07.549629Z

See this screenshot, that is what Calva currently "exports":

pez 2022-04-27T22:12:06.467369Z

We still need to expose some API from Calva to make it more convenient. Much like the Clover API there. Though you can execute any command on any extension. So you can fire of a string of paredit commands, for instance.

borkdude 2022-04-27T22:12:12.783579Z

joyride also exposes promesa.core, you have to use explicit requires, while clover may have some predefined alias for it

pez 2022-04-27T22:19:37.179489Z

Here's an example. Inserting some text at the cursor. Useless as is, but I hope to fix that. πŸ˜ƒ

1
pez 2022-04-27T22:22:12.265509Z

@seancorfield If Clover exposes its API as a JS object, then you can probably use it as conveniently from Joyride as you do today, I think.

pez 2022-04-27T22:24:14.526349Z

And gluing together Calva or Clover with Portal should also probably be quite nice the Joyride way. Might be something for @daslu and the #visual-tools folks to look at.

πŸ™ 1
borkdude 2022-04-27T22:28:17.991859Z

That would all work provided that the extension exports functions, which might not be the case right now.

pez 2022-04-27T22:29:15.960719Z

Yes. Though some things can be achieved using the commands.