joyride

pez 2022-05-08T09:11:57.877469Z

If someone feels in the mood to help the Joyride project tremendously, you should consider adding documentation lookup to the #nbb nREPL server. There's an issue on nbb about it now https://github.com/babashka/nbb/issues/185, and it has a link to #babashka's implementation of this, which looks reasonably straightforward to port. ๐Ÿ™ โค๏ธ

borkdude 2022-05-08T09:47:19.917979Z

Btw, clojure.repl/doc is available in joyride as well

๐Ÿ™ 1
borkdude 2022-05-08T09:13:04.528579Z

Issue: https://github.com/babashka/nbb/issues/185

๐Ÿคฆ 1
๐Ÿ™ 1
pez 2022-05-08T09:40:03.518939Z

I added a script example for glob-ing out files in the project and opening a random one: https://github.com/BetterThanTomorrow/joyride/tree/master/examples#opening-a-file

๐Ÿ˜ 1
alpox 2022-05-08T09:41:06.207559Z

I was lurking here for a bit although I'm not using clojure much at the moment. This project looks very interesting and I was wondering if you are planning to let users add the custom commands to the command palette in addition to simple keybindings? I don't have a usecase (yet). Just curious ๐Ÿ˜‰

alpox 2022-05-09T07:34:53.537519Z

I thought that already exists - Joyride: Run Workspace Script that opens up a new selection with all scripts

๐Ÿ‘ 1
pez 2022-05-08T09:42:09.716779Z

๐Ÿ‘‹ I hope you will find Joyride intriguing enough to try it out some!

pez 2022-05-08T09:43:59.127149Z

We really want to add that capability. The problem is that VS Code doesn't really allow it. Command palette content needs to be added as part of the extension manifest and is declared in JSON. There's a discussion (well, at least a starter) about it: https://github.com/BetterThanTomorrow/joyride/discussions/14

pez 2022-05-08T09:45:54.445049Z

And, to add some hope, @mauricio.szabo is looking at it a bit. Not sure he has found much traction yet, but we'll see. If we can compromise some with the Ux, it might be doable.

alpox 2022-05-08T09:47:22.823349Z

Awesome, thanks for the reply! I left an upvote to the discussion. Really hoping to see this come to be in the future!

concerned-tortoise 2022-05-08T23:16:53.327509Z

Hmm, perhaps Joyrideโ€™s way of running commands could also wrap around vscodeโ€™s own commands? So rather than using the default Cmd/Ctrl + shift + P, joyride could provide its own thing that lets you run all your joyride scripts + all of vscodeโ€™s commands? Just as a sort of workaround for vscode not providing the feature itself

concerned-tortoise 2022-05-08T23:19:18.893829Z

The neovim extension does something like that

Max 2022-05-09T04:31:59.424249Z

Would putting the joyride-provided commands in a submenu (like where you select repl type after running jack in) get around the manifest issue? Suboptimal UX for sure, but something is better than nothing

borkdude 2022-05-08T09:41:43.642459Z

That would need a side-car extension, which is being considered

borkdude 2022-05-08T09:42:23.043669Z

The problem is that you can not add commands on the fly in an extension, you have to pre-define them. So the solution here would be to automatically generate an extension based on some logic.

alpox 2022-05-08T09:44:53.049639Z

Ah, so adding that needs quite a bit more setup than expected ๐Ÿค” I wonder if it would be possible to make that managable for the user. I believe that would come with quite a few necessary "tricks" to manage the sidecar extension.

borkdude 2022-05-08T09:46:57.508909Z

Yes

armed 2022-05-08T10:22:41.812389Z

Hey, everyone. How to prevent opening joyride bottom output panel when I run user/workspace script?

pez 2022-05-08T11:27:41.940559Z

Not possible at the moment. I filed an issue about it. https://github.com/BetterThanTomorrow/joyride/issues/36 Thanks!

๐Ÿ‘ 1
armed 2022-05-08T16:03:20.261419Z

Ah, thanks

pez 2022-05-08T11:34:49.529209Z

I left a question about init/activation script locations, on the PR where I am implementing them: https://github.com/BetterThanTomorrow/joyride/pull/35#issuecomment-1120401365 Please chip in. ๐Ÿ™

Bob B 2022-05-08T15:57:16.731659Z

based on some experiments and reading some code, I'm reaching the conclusion that the 'classpath' (roughly speaking) is the workspace script directory - that is to say (require 'flib) works if flib.cljs is available in $workspaceRoot/.joyride/scripts, but not the user script directory - just curious if the user script directory is excluded on purpose, or just not included yet or whatever - I could imagine my user directory containing commonly-used functions that I would :require in workspace scripts (and other user scripts)

pez 2022-05-08T16:15:26.475299Z

Does it work if you first load some namespace in your user scripts directory? I think it should.

Bob B 2022-05-08T16:53:40.381439Z

It seems to only work if I run the user script that I'm requiring (which of course means the ns is already loaded). I ran userA.cljs from my user scripts dir, and then ran wsA.cljs from my ws dir, which requires userB. This results in the wsA run reporting that it can't find userB.cljs (in my workspace scripts dir).

pez 2022-05-08T17:09:18.081969Z

Thanks. We probably need to look for sources in both locations, right @borkdude?

Bob B 2022-05-08T17:13:52.406949Z

Would you like me to open an issue with the repro and so on so you can take a look at your convenience? I only asked here because I saw that :load-fn in the sci context appeared to only search the workspace directory, and I thought the user dir might have been considered and rejected already.

pez 2022-05-08T17:18:20.093519Z

Issue welcome.

Bob B 2022-05-08T17:21:29.355489Z

will do - tangentially, thank you for Joyride - really cool idea, and I'm sort of hoping to introduce it to some VSC users at work to expose them to some clojure in a context where many languages can't go

pez 2022-05-08T17:24:55.087779Z

Awesome! Thatโ€™s one of the goals with Joyride. To bring Clojure to the doorstep of developers who might find what Joyride offers to be intriguing enough to warrant using a new language.

borkdude 2022-05-08T17:43:11.689519Z

Yes, it should search the user dir as well :)

borkdude 2022-05-08T17:44:32.068529Z

Should it behave like this: A require in a user script, searches within the user dir and a require in a workspace script searches within the workspace dir? Or should it always search in both?

borkdude 2022-05-08T17:48:03.015529Z

Good to hear you are enjoying joyride @highpressurecarsalesm :)

borkdude 2022-05-08T17:51:25.978489Z

What I'm wondering about: what if your workspace scripts rely on user scripts? I guess your teammate also wants to use those workspace scripts but then they are incomplete right?

borkdude 2022-05-08T17:52:05.342949Z

But maybe we should just let people decide how they want to deal with that and just allow it

Bob B 2022-05-08T17:54:07.741829Z

It definitely opens up the ambiguity - in my mind, at the very least, a workspace script might want to re-use code made available by a user script - the other way around doesn't make as much sense to me, unless people wanted to make that a sort of hacky (IMO) polymorphism mechanism.

Bob B 2022-05-08T18:02:01.092549Z

oh, I misread what you said - yeah, I guess it sort of goes both ways - I might have a bunch of workspaces where I want to re-use functions, but other people might want to use the same workspace scripts

pez 2022-05-08T16:48:21.882039Z

Dear Joyriders: Activation scripts and extension context access now available if you upgrade your Joyride extension: https://github.com/BetterThanTomorrow/joyride/releases/tag/v0.0.7

๐ŸŽ‰ 1
pez 2022-05-08T16:49:12.272199Z

What happened with v0.0.6? Well, let's say we really need to move the release process to CI...