https://github.com/paintparty/fireworks v0.16.1 - themeable tracing library
Many thanks to Clojurists Together for generously supporting this release!
• Added support for automatic detection of the 3 levels of color support (16-color, 256-color, or Truecolor)
• VS Code Integration via Joyride
• Cursive Integration via REPL Commands
• Docs/quickstart projects which demo interactive workflow for both deps.edn and Leiningen projects.
• Added config! macro to set options globally, within a project, at runtime.
• Supports option to disable all truncation and ellipsis
• Supports option for bold output
• Supports option to format the label as code
• Supports call-site flag for eliding all truncation and ellipsis
• Supports call-site option to change label color for printed output
• Fixed labeling and printing of native JS data structures when inside a cljs collection
Any particular reason you used Joyride instead of custom repl commands for the VS Code integration? I plain love that #joyride is used, of course, but I am curious anyway. Is it that the custom repl commands didn’t support it, or some nice-to-haves that Joyride enables?
I should probably take this for a spin and understand what it is about. 😃
An excuse to play with Joyride! Actually forgot about custom repl commands in VSCode (thank your for reminding me), but maybe I will go back and implement it that way as well for the sake of comparison
Totally legit reason!
> I should probably take this for a spin and understand what it is about.
@pez I just added some small quickstart projects for this. Maybe spinning up the deps.ednhttps://github.com/paintparty/fireworks?tab=readme-ov-file#jvm-clojure-deps-setup would be the easiest way to try it out. With this kind of workflow I sometimes toggle on autosave in vscode. If you get a chance to kick the tires, any feedback is appreciated!
Really interesting approach to use the ? symbol for tapping. Maybe this could also be something for achieving more mainstream adaptation of Clojure, since it could essentially replace a REPL when combined with an auto-reload mechanism (as shown in your readme). Clojure beginners only would need to master some form of paredit or parinfer, but no REPL connection nor shortcuts to eval something.
@maxweber Further, an editor-plugin may automate that by providing a key combination to simulate "evaluate (? <selected expr>)".
@kumarshantanu You can do that with Calva custom repl commands . They have vars that can take current. code context, and allow a snippet-like eval. So you could instrument and eval a form with ?, but not change working code. The custom repl commands can be bound to a hotkey.
Thanks @maxweber, my thoughts exactly! @kumarshantanu @chromalchemy there is also a https://github.com/paintparty/fireworks/blob/main/docs/editors/vscode/vscode.md which does this. I will probably add instructions and examples for a calva custom repl command as well, for folks that would prefer setting it up that way.
Im interested to try the joyride approach too. to learn that system better.