This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # announcements (2)
- # beginners (137)
- # chlorine-clover (13)
- # clj-kondo (3)
- # cljsrn (4)
- # clojure (52)
- # clojure-australia (3)
- # clojure-dev (2)
- # clojure-europe (34)
- # clojure-nl (1)
- # clojure-sg (3)
- # clojure-spec (1)
- # clojure-uk (12)
- # clojurescript (2)
- # clojureverse-ops (7)
- # code-reviews (3)
- # conjure (2)
- # cursive (18)
- # datavis (21)
- # datomic (34)
- # exercism (1)
- # figwheel-main (6)
- # graphql (3)
- # helix (21)
- # introduce-yourself (1)
- # jackdaw (1)
- # jobs (4)
- # jobs-discuss (32)
- # juxt (14)
- # leiningen (6)
- # lsp (35)
- # meander (19)
- # nrepl (2)
- # off-topic (37)
- # portal (40)
- # quil (5)
- # re-frame (45)
- # reagent (10)
- # releases (1)
- # remote-jobs (4)
- # reveal (15)
- # sci (7)
- # shadow-cljs (40)
- # spacemacs (3)
- # tools-build (2)
- # vim (17)
- # xtdb (11)
@seancorfield would a vscode extension to run portal embedded be of any interest to you?
Oh hell yeah!!!
Connected to a full JVM backend, not cljs.
One of my biggest "issues" right now with both Reveal and Portal is that, running on Windows/WSL2, I have a Ubuntu window popping up for the visualizer which I then have to wrangle up alongside VS Code running on Windows -- since WSL/g isn't quite there yet.
On macOS, it's not quite so bad since both VS Code and Reveal/Portal run natively and can be full-screen/side-by-side but even there it would be so much more convenient to have Portal run in a regular VS Code tab/window that could be resized, moved around, split, etc all inside VS Code.
And I would be super happy to test early versions of it on both platforms 🙂
(especially since Chrome is not my default browser!)
Is ctrl-shift-left just relying on the browser history or is it an actual command inside Portal?
It would be really nice if (some of) the various
portal.command functions were exposed via a JVM (backend) API -- not all of them make sense perhaps. What would
instance be there?
Ah, makes sense. And it would allow you to
eval any configured command/function?
Portal already has bidirectional communication so this would be pretty easy, just a matter of api design
eval is the right name. Perhaps
(portal.api/command instance (portal.command/history-first)) as a macro wrapper so you don't forget to quote it?
Yes, I have sci in the client runtime already so I would expose / enable all the commands and some other things to allow some scriptability
And you're already considering a nicer API to install new functions?
Kinda, I was thinking you could pass
p/open a function like
:commands which gets invoked anytime a user wants to run a command with the currently selected value and can return command that would make sense for that value
Ah, makes sense. What I've done right now kind of bypasses those checks and makes them "always available".
Also... can we get that list of commands in alphabetical order instead of hash-map-random-key order? 🙂
My OCD is being traumatized by the non-alpha ordering right now 😆
And done https://github.com/djblue/portal/commit/2d971f2bdcd974352d2b0f74212babbf13eba6fe
Also I think the reason I lean eval is that it enables user provided commands to start doing more. Like get more values from the user before it returns 👌
Ooh, nice! OK.
I was just looking over the dev/build/test process -- I don't think I could even run that locally. I'm on macOS 10.12 (for reasons) and I know
planck won't build/install on that -- and it won't currently build/install on WSL2 (Ubuntu) last I tried either. Plus I don't think I have node/npm/npx on either machine (I may have it on the Mac) and I don't have
bb installed anywhere 😐
Maybe have everything successful CI run deploy a snapshot to Clojars?
(I don't know how the Clojars folks would feel about every project publishing every snapshot tho'... I'll go ask them!)
Toby Crawley from the Clojars team says that would be fine. Several projects already do it and it isn't an issue -- so there's a possible way for folks to test Portal builds as they happen.
I just updated
next.jdbc's GH Actions to build a snapshot for every push to the main branch and deploy it to Clojars automatically.
By which I mean: is there a function I could execute via the JVM to tell Portal to invoke
history-first in the UI portion? I'm wondering how much of the navigation I can "remote control" from my editor, to avoid switching from editor to browser and back?
I think I've found a bug. If you
tap> an exception into Portal, and then
nil or a different exception, Portal redisplays the first exception.
Hmm, nope, that works just fine from the bare REPL.
Looks like this might be a bug in Clover.