Skip to content

Things to be done with Calva

Peter Strömberg edited this page Apr 9, 2021 · 1 revision

The major themes are:

  • Documentation
  • Squash Bugs
  • The Right Features
  • Development Workflow
  • Code Maintainability

Documentation

  • The Calva settings (which ones are not documented on the wiki?)
  • Replace some outdated GIFs used in the README.

Squash Bugs

  • The REPL window can't handle large output. Ideas:
    • Fix the performance issues (might be a tricky job)
    • Truncate large output in the REPL window and print it in an untitled Clojure-enabled editor window instead.
    • Add option to print stdout somewhere else
    • Implement something like CIDER inspect: https://github.com/BetterThanTomorrow/calva/issues/228
    • Make it super easy to use Calva with Reveal
  • Formatter needs to merge latest cljfmt

The Right Features

  • Enable using nrepl in streaming mode (is this not done, yet?)
    • Use this for the test runner
  • Better connection life-cycle control fo shadow-cljs. Either:
    1. Tap in to the shadow message bus (THeller said that there is such a thing that we can query about what shadow-cljs is doing.)
  • Consider supporting Reveal out-of-the-box.
  • Add even more Calva extension context statuses and use it for more precise command and shortcut enablements.
  • Re-enable results in hover

Development Workflow

  • Write an issues template

Code Maintainability

  • Organize Calva functionality in ”components”, more like we do with calva-fmt, ParEdit, and Clojure Warrior.
  • Get better control of REPL session state.
  • Clean up extra messy parts of the code. Candidates:
    • The evaluations module
    • The annotations module (this is particularly brittle)