joyride

pez 2022-11-30T07:56:54.726169Z

Here's a thing we didn't get to demo yesterday: https://www.youtube.com/watch?v=BqoIp1YuOic

pez 2022-11-30T08:27:42.693659Z

If someone would like to help me test the instructions for the slides script here, that would be awesome. πŸ™ joyride ❀️ https://github.com/PEZ/london-clojurians-joyride

2022-11-30T10:21:30.586879Z

Hi all, the recording of last night event at the London Clojurians is now available on our youtube channel Joyride VS Code using a Clojure REPL (by Peter StrΓΆmberg and Michiel Borkent) https://www.youtube.com/watch?v=ObjIR08t3lg

3
3
3
πŸŽ‰ 4
pez 2022-11-30T15:06:23.716849Z

Haha, yesterday I was not only running a special version of Joyride (a last minute bug fix that I didn't dare release without more testing, but that risked messing with the presentation), I was also using a patched version of VS Code. I couldn't stand the flicker of that timer. Looks like the VS Code team likes the PR: https://github.com/microsoft/vscode/issues/167304 πŸ˜ƒ

pez 2022-11-30T15:07:33.492329Z

The patch: https://github.com/microsoft/vscode/pull/167310/files

orestis 2022-11-30T15:32:50.971999Z

Watched half of the Joyride presentation so far, really cool stuff. The status bar item was a light bulb moment for me, since it can be a poor man's command palette. I have a small snipped that shows an autocopmlete UI but sometimes I forget the keyboard shortcut. I can put a small reminder there πŸ™‚

πŸ’‘ 1
pez 2022-11-30T15:35:48.075559Z

You can give such a command a keyboard shortcut as well. A bit like what we do with Calva's custom REPL commands. Could actually be something that Joyride can ship some scaffolding for. So that populating the menu is more of a configuration thing.

orestis 2022-11-30T15:37:00.388889Z

But still I think I'd like to create my own extension to add a few items in the global command palette.

orestis 2022-11-30T15:44:59.115399Z

I do have a keyboard shortcut - but my memory is weak and for most things I just open the main command palette and type a few characters.

pez 2022-11-30T16:05:27.782519Z

It would be great if you could experiment with what it takes to create an extension from a Joyride setup. It was discussed a bit during the non-recorded Q&A yesterday.

pez 2022-11-30T16:08:42.840529Z

That said, what you can do to help your memory is to use a joyride key prefix. The built-in shortcuts uses ctrl+alt+j <something something>. So for your palette you can have ctrl+alt+j f1 (if you are used to use f1 for the built in palette).

orestis 2022-11-30T19:58:24.438589Z

I moved away from Emacs to avoid these long chords πŸ™‚

orestis 2022-11-30T19:59:43.847009Z

But, hey, look at that

pez 2022-11-30T20:01:31.627659Z

What am I looking at?

orestis 2022-11-30T20:02:01.186129Z

That little OM thing in the status bar, it has a tooltip to remind me of the keybinding, plus I can also click it to run my command πŸ™‚

orestis 2022-11-30T20:03:46.911579Z

Better capturing

pez 2022-11-30T20:03:55.430929Z

Ah... I thought for a moment you had found another way to register keybindings. πŸ˜ƒ But it is a very good idea to use the tooltip like that.

pez 2022-11-30T20:05:15.101579Z

Cool!

pez 2022-11-30T20:06:42.363299Z

You can add some other keys to the quickpick items to get some hints in there. So you could add your keybinding to some specific command there, for instance.

orestis 2022-11-30T20:07:24.276079Z

One big thing I'm missing is the ability to execute a connect command with arguments. I repl to our back-office machine all the time at localhost:6666 and I would love to be able to just do executeCommand("calva.connect", "localhost:6666")

pez 2022-11-30T20:09:09.030989Z

Iirc we have a function with that signature that we call from the command. Should be pretty easy to grant your wish.

pez 2022-11-30T20:09:12.875279Z

Issue please!

orestis 2022-11-30T20:09:33.524469Z

Oh nice! Last time I looked I couldn't figure it out by myself πŸ™‚

pez 2022-11-30T20:10:15.552149Z

I might be making it easier than it is. I'm an incurable optimist, as we say in Sweden.

pez 2022-11-30T20:16:25.017559Z

I think it might be :description key you can add to the menu items that will also be shown in the menu.

pez 2022-11-30T20:12:08.561149Z

It made me smile to switch to one of my VS Code windows and find this. πŸ˜ƒ

πŸ˜† 3
orestis 2022-11-30T20:40:30.621559Z

Since I have a late-night "optimistic" session with @pez, may I offer another crazy idea? Calva could offer a tap> sink, via some nrepl middleware, or some custom client-side code perhaps?

orestis 2022-11-30T20:41:28.057389Z

So suddenly all the tap>ed things in my code could make it to calva, which could then show them in whatever UI

orestis 2022-11-30T20:42:14.598999Z

Today it might be just the REPL, tomorrow it may be Portal or a Treeview, or perhaps a custom webview, or even something scriptable by the community

pez 2022-11-30T20:42:31.419119Z

I wonder if there might exist an nREPL middleware that does this...

orestis 2022-11-30T20:43:25.326329Z

The way I understand taps and nrepl middleware, you could add a tap sink, that takes the data, and sends it as a custom nREPL event back to the nREPL client?

pez 2022-11-30T20:45:22.079849Z

I don't know all that much about it. Something to ask about in the #nrepl channel, maybe.