/github subscribe BetterThanTomorrow/joyride
/github unsubscribe BetterThanTomorrow/joyride commits
@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
π
Maybe not huddle then, because focus?
ok, 1 hour focussed nREPL ;)
This a bit similar to Joyride: https://github.com/nurmohammed840/extension.vsix/tree/Script (added it as a bookmark to the channel as well.
@pez almost there, maybe...
Could not write .nrepl-port Error: EROFS: read-only file system, open '.nrepl-port' Hmmm. Huddle?
pushed initial commit to master now
ok
@rayatrahman9 has joined the channel
@corasaurus-hex has joined the channel
nREPL demo: https://twitter.com/borkdude/status/1519272015705911296 btw @pez good news, the autocompletion also seems to work
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.
So when can we haz our first marketplace release? :-D
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.
I'll let you do that announcement :)
π
Btw this works for spawning a new code instance:
(require '["child_process" :as process])
(process/exec "code .")Executing bb:
It spawns a new window and not a new instance of code, if code is open, right? Which is what we want, of course.
I think so
Well, that's what happens from the terminal π
I accidentally clicked away my terminals
while making a demo
how can I get them back?
opening a new terminal manually works, but I'm creating a terminal programmatically
Added example: https://github.com/BetterThanTomorrow/joyride/blob/master/examples/terminal.cljs
I posted a demo here. We can use the "vsjoyride" hashtag on twitter since nobody else seems to use that
(joyride was already used too much)
(updated the link)
@audiolabs has joined the channel
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.
@audiolabs Let me compile a vsix for you ;)
π
β‘
If you want more development versions, just execute vsce package from the repo. We should hit the marketplace soon I think
https://marketplace.visualstudio.com/items?itemName=betterthantomorrow.joyride Removed the VSIX in favor of the marketplace
Nice. I'll see what I can do in the next day or so.
maybe conspicuously be messing with it with rich over my shoulder ;)
Does Rich use VSCode? ;)
No, and that's not going to change... but I do have a reason for pointing it out :)
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 :)
If I were Rich I would smile some extra when seeing Clojure reach new territory. π
Clojure all teh things!
Or maybe he would think: oh god no, that's not how intended Clojure to be used, what an awful hack ;)
it's not a "maybe" π
Ah well, at least we are having fun, despite his opinion π’
it never stops at the "WTF" point, there's always an intensely curious and supportive followup
I think that happens to most of use clojurists when we look at other things too π
exactly
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
I think 3 is pretty huge and want to figure out ways to reach them.
Zero downloads? π https://marketplace.visualstudio.com/items?itemName=betterthantomorrow.joyride
@pez If you're going to tweet about it, please use the vsjoyride hashtag
I'll mention that in the README, so people can follow news about it
Awesome.
Would you like this put in the clojure deref this week?
ooooh do you prepare the deref every week?
@audiolabs Deref should be good!
@borkdude Let me know what you'd like to be linked and I'll get it in.
@audiolabs I think the github repo should be OK
@corasaurus-hex I work on the Clojure/Datomic team w/Alex et al. and I help with deref occasionally.
ahhh ok. I burnt out on putting out clojure morsels and was wondering how y'all made it sustainable
but i can ask another time
i need to run
@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 π
well, then!
I am, unfortunately, just a 1x developer
@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
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
But having your own personal news letter and not doing anything for a while is totally fine too
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
it would be nice for it to live on
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.
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...
Did you have a demo video I can attach in a post to #announcements, @borkdude?
@pez Dude, just search the joyride hashtag on twitter for videos :)
or do you want a file?
here you go, a gif: https://www.dropbox.com/s/stw2pwfuvmiayb4/joyride_term.gif?dl=0
Yes, a file. I want something for #announcements
I'm recording myself an mp4 now.
Ah, maybe a GIF would work. Thanks!
it's an animated gif I recorded
Yes, with the terminals. That's the one I wanted. Perfect.
@pez do you think a roxette picture would work better as the logo? ;)
Haha.
Let's see if we can get ourself a proper logo.
ok :)
I fear the copyright trolls. π
where did you obtain the current placeholder from?
I drew it. π
haha awesome
ok, ready for lift-off
@wilkes has joined the channel
@jgnmello has joined the channel
@rfhayashi has joined the channel
@alidcastano has joined the channel
@brandon.ringe has joined the channel
Congrats on this! gratitude
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?
This was what I was referring to there, yes. π
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
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.
The examples directory is intended for that
So if you have a nice example, just put it there
a text editor with an embedded lisp!?
lol
I love it
ETA until we make a vscode editor-wide init script with all your packages and settings?
(I legitimately want that)
https://marketplace.visualstudio.com/items?itemName=bodil.init-script
@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)
Maybe there is some JSON file you can update programmatically and then restart VSCode to let it install packages
it looks like you could set settings
if you figure that out, please, an example of that in examples would be terrific :)
but that's it terribly interesting
is it terribly interesting or not?
not, sorry
thanks autocorrect
that project I linked does the init script deal and has examples for changing settings. the single activationEvent it has in package.json is "*"
@corasaurus-hex You could do:
(require '["child_process" :as process])
(process/execSync "code --install-extension ms-vscode.csharp")
ooooh
it can list extensions, too
this might be neat to do
But this way you don't even need to use joyride, it could be a bb script too
I'll keep it in mind
oh, for sure, but you'd need to be running within the vscode process in order to also change settings
π‘
If you are outside the process you can edit settings files.
hmm that's true
Weβre going to add init scripts so you'll have both options.
I wonder if this would be good for automated testing of vscode, too
so many possibilities!!
Also, if any of you find any new ways of using joyride, please share those examples here and on twitter (hashtag: vsjoyride)
As this project is young, it's as much a discovery for me and probably @pez as it is for y'all :)
@seancorfield has joined the channel
I'd like to have a name for Joyride scripts. I've started calling them Joyscripts. Anyone has some ideas around this? Joylets?
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?
(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...?)
Clover has exposed an abstraction over the "editor" I think?
e.g., https://github.com/seancorfield/vscode-clover-setup/blob/develop/config.cljs#L13-L18
p/let is an async promise macro I think...
@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
See this screenshot, that is what Calva currently "exports":
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.
joyride also exposes promesa.core, you have to use explicit requires, while clover may have some predefined alias for it
Here's an example. Inserting some text at the cursor. Useless as is, but I hope to fix that. π
@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.
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.
That would all work provided that the extension exports functions, which might not be the case right now.
Yes. Though some things can be achieved using the commands.