cmd2 icon indicating copy to clipboard operation
cmd2 copied to clipboard

cmd2 4.0 discussion

Open tleonhardt opened this issue 1 month ago • 1 comments

Now that cmd2 3.0.0 is out, it's time to start discussing what we would like to see in the 4.0.0 release for cmd2.

Features @kmvanbrunt and I have discussed for 4.x include:

  • [x] Remove explicit dependency on Python's built-in cmd module, but retain backwards compatibility (PR #1539)
  • [ ] Remove dependency on Python's built-in readline module and replace it with a dependency on prompt-toolkit which is a pure Python replacement for GNU Readline
  • [ ] Support adding a bottom toolbar to display real-time status via prompt-toolkit
  • [ ] Consider implementing syntax that is essentially compatible with Typer for defining command arguments based on type hints. A user documented how to do this in Discussion #1530.
  • [ ] Investigate adding support for syntax highlighting of text entered by users, at least for command names
  • [ ] Investigate adding support for prompt-toolkit Input Validation
  • [ ] Consider migrating documentation to Zensical which is essentially MkDocs 2.0, but implemented in Rust and much faster

Moving to prompt-toolkit and no longer depending on cmd will be a large paradigm shift for cmd2. But this will open doors for easier and more consistent cross-platform support as well as being able to provide some more advanced features that we cannot now.

tleonhardt avatar Dec 07 '25 20:12 tleonhardt

PR #1539 handles removing the explicit dependency on Python's built-in cmd module

tleonhardt avatar Dec 07 '25 21:12 tleonhardt

I plan to educate myself on Zensical over the holidays.

I think @kmvanbrunt has already started looking into prompt-toolkit.

@theagilehacker @joqual If you would like to help with anything here, we'd love some more developers to get involved. Also if you have ideas for what you would like to see in cmd2, please suggest them. Most of the planned work requires replacing readline with prompt-toolkit first. But the Typer stuff is fully independent of that. I suspect Kevin wouldn't mind help with prompt-tookit work, so familiarizing yourself with that also would be helpful.

tleonhardt avatar Dec 12 '25 23:12 tleonhardt