This release brings a major overhaul to CLI documentation with a custom argparse documentation engine featuring syntax highlighting.
Highlights
Custom CLI Documentation Engine
Replaced the external sphinx-argparse dependency with a custom sphinx_argparse_neo package, providing:
- Syntax highlighting for CLI usage blocks and argparse help output
- Automatic TOC entries for command examples
- Consistent styling matching shell code blocks
- Better maintainability with comprehensive test coverage (313 tests)
Before & After
The CLI documentation now features semantic syntax highlighting:
| Element | Color | Example |
|---|---|---|
usage: keyword
| Blue | usage: tmuxp load
|
| Program/command | Purple | tmuxp, load
|
| Options | Teal | --detached, -d
|
| Metavars | Yellow | SESSION, CONFIG
|
| Choices | Green | yaml, json
|
What's Changed
Documentation
- Custom argparse documentation engine with syntax highlighting
- Restructured CLI command pages for consistency
- Usage blocks now match shell example styling (background, padding, border-radius)
Bug Fixes
- Fixed docutils node.children assignment bypassing parent tracking
- Added ID prefix to prevent duplicate section IDs across subcommand pages
- Escape asterisks in glob patterns to prevent RST emphasis warnings
- Fixed mypy type annotation errors
Dependencies
- Removed
sphinx-argparseexternal dependency - Pinned
sphinx<9for compatibility
Links
- Documentation: https://tmuxp.git-pull.com/cli/
- PR: #1009
Contributors
Full Changelog: v1.63.1...v1.64.0