rich-ext
Extensions and the internal plugin registry for the rich Rust port.
Why this crate exists
rich is a faithful mirror of Python rich: it ships upstream's
behaviour and nothing else, so that absorbing a new upstream release is a
diff-and-port rather than a merge conflict.
Everything we add on top lives here instead. Like every crate in this
repository, this crate follows an independent SemVer that started at
0.0.1; its version is bumped only when rs-rich-ext is selected for a release
and never mirrors the Python projects' release numbers.
The rule, in one line: never edit the core to add a feature.
What's here
- The extension registry — the seam that installs extra highlighters (and
in future, boxes, themes and renderables) into a
Consoleby explicit registration rather than compile-time magic. ConsoleExt, which addsinstall_extensions()to aConsole.- Example extensions, including a custom highlighter that proves the plugin boundary works without touching the core.
use Console;
use ConsoleExt;
let mut console = builder.build;
console.install_extensions;
Status
The registry surface is currently internal — rich-ext is its only
registrant. Promoting it to a stable public API, and evaluating dynamic
third-party plugin loading, is tracked as its own roadmap issue.
Licence
MIT.