Fork me on GitHub
#portal
<
2022-10-21
>
seancorfield01:10:56

I ended up setting it up as follows: • If I use Portal but without the middleware (`clojure -M:portal:nrepl` or clojure -M:portal:rebel for me), then (after starting Portal), it just behaves like a regular tap> listener, only displaying what is explicitly tap>'d. • If I use Portal with the middleware (`clojure -M:portal:nrepl:dev/repl` or clojure -M:portal:rebel:dev/repl for me), then it displays all evaluated results via the middleware... • ...unless the evaluation involved a call to tap> in which case it displays any stdio data, followed by any test reports, followed by any exceptions, followed by actual tap>'d value (so it is always at the top of the Portal window and can be manipulated by my hotkeys/snippets without leaving my editor). And that's controlled by my calva/config.edn which has my customREPLCommandSnippets from my vscode-calva-setup repo -- with :dev/repl coming from my dot-clojure repo so they're nicely decoupled.

awesome 3
💯 1
seancorfield02:10:02

VS Code/Calva config to start Portal: https://github.com/seancorfield/vscode-calva-setup/blob/develop/calva/config.edn#L65-L126 Aliases: https://github.com/seancorfield/dot-clojure/blob/develop/deps.edn#L47-L71 Starting a REPL with optional middleware based on the classpath: https://github.com/seancorfield/dot-clojure/blob/develop/dev.clj#L125-L151 ☝️:skin-tone-2: For reference, for anyone interested... Feel free to DM me with Qs or follow-up in a thread!

🙏 1