Visual-tools meeting 28 - Workflow Demos 2: Emacs CIDER, Portal, Snitch, clj-reload, Cursive, Neovim Conjure, Parinfer - summary & recording

On 2025-01-07, the Clojure visual-tools group had its 28th meeting. This was the second of a series of meetings where people would demonstrate their Clojure workflows with different tools.

16 people attended.

agenda

(see the detailed outlines in the comments)

recording

text chat

The meeting’s Zoom chat has been quite detailed, with many people helping each other and sharing their experiences.
We kept the text here at the Zulip chat (requires login): #visual-tools>meeting 28.

next meetings

At the moment, the following has already been scheduled:
Visual-tools meeting 29: Workflow Demos 3

Please reach out if you wish to propose topics for future meetings.

Detailed outlines from the meeting:

Mykhaylo Beliansky went over an emacs setup for clojure and demo using the combination of tools for REPL driven development in clojure. Mykhaylo’s libraries for emacs-clojure integration, like babashka.el and context-transient.el, were used to create that setup in a convenient way.

@onetom’s detailed outline

@practicalli demonstrated the Neovim + Conjure workflow developing a project that provides an API using reitit & httpkit, with mulog for event logs. Outline:

  • Quick overview of Neovim, Conjure and Practicalli Astro (config for Neovim with a focus on Clojure)
  • Starting a REPL & Connecting,
  • Evaluating results inline & via the REPL log
  • Tapping REPL evaluation results & mulog events to Portal
  • Structured editing with parinfer & paredit
  • Clojure LSP for navigation and code refactor tools
  • Running tests
  • A brief mention of DAP (debugging project from Conjure author)
  • Hacking Neovim config

Thanks everyone for showing off your workflows! And thanks to @daslu for being a great community organizer!

I’m quite sure I will adopt the ^:interactive metadata and then an Emacs dispatch function to interact with the project based on that. The demonstration of snitch makes me interested in trying that out as well.
And from @onetom keeping state of the last ran test and running that test again if the cursor isn’t on a new test as the main specific unit test interaction is a clever idea!

A bit jealous of the structural editing movement of key/value pairs inside a map or let in Cursive.

1 Like