Here's a thing we didn't get to demo yesterday: https://www.youtube.com/watch?v=BqoIp1YuOic
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
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
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 π
The patch: https://github.com/microsoft/vscode/pull/167310/files
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 π
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.
But still I think I'd like to create my own extension to add a few items in the global command palette.
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.
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.
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).
I moved away from Emacs to avoid these long chords π
But, hey, look at that
What am I looking at?
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 π
Better capturing
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.
Cool!
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.
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")
Iirc we have a function with that signature that we call from the command. Should be pretty easy to grant your wish.
Issue please!
Oh nice! Last time I looked I couldn't figure it out by myself π
I might be making it easier than it is. I'm an incurable optimist, as we say in Sweden.
I think it might be :description key you can add to the menu items that will also be shown in the menu.
It made me smile to switch to one of my VS Code windows and find this. π
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?
So suddenly all the tap>ed things in my code could make it to calva, which could then show them in whatever UI
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
I wonder if there might exist an nREPL middleware that does this...
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?
I don't know all that much about it. Something to ask about in the #nrepl channel, maybe.