BBCode-style markup
`[red bold on yellow]hi[/]` — nestable tags, hex colours, OSC 8 hyperlinks, 1500+ named emoji shortcodes.
Tables, trees, live progress, prompts, syntax-coloured exceptions — composable widgets that render through a unified pipeline.
VSoft.AnsiConsole is a from-scratch Delphi port that borrows freely - and gratefully - from the projects that pioneered rich console rendering on other platforms. The widget catalogue, render pipeline, markup grammar, and prompt design all closely mirror prior art so existing knowledge transfers directly; the Delphi idioms (interfaces, fluent builders, value-typed records) are native.
Spectre.Console is the direct ancestor. The widget surface, border styles, segment-based render pipeline, prompt design, status / progress / live-display contracts, and the recorder all follow Spectre's model very closely. Where there's an obvious right answer in Spectre, this library uses it. Spectre's documentation at spectreconsole.net is a fantastic companion read - many of the conceptual sections there apply verbatim.
Rich by Will McGugan is the project that pioneered most of these ideas - the segment / renderable model, the markup syntax, the live display pattern. Spectre.Console (and by extension this library) owes Rich an enormous debt. Several README examples and the Markdown widget approach were lifted directly from Rich's walk-through.
A handful of mechanical imports power the polish:
cli-spinners - 90 named spinner kinds, courtesy of Sindre Sorhus..flf parser follows the FIGlet 2.0 spec.Each generated unit carries an attribution comment at the top citing the upstream source.
Delphi doesn't have a first-class equivalent to Spectre or Rich. Building a CLI tool that needs colour, tables, prompts, or live displays usually means reaching for Crt, custom escape-code helpers, or shelling out to PowerShell. This library exists so a Delphi developer can uses VSoft.AnsiConsole; and get the same polish as their .NET / Python counterparts - without porting half the toolchain.