Console.Lib.Inspector
5.12.2301
{ "inputs": [ { "type": "promptString", "id": "CONSOLE_INSPECTOR_GROUP", "description": "Discovery multicast group override." }, { "type": "promptString", "id": "CONSOLE_INSPECTOR_PORT", "description": "Discovery multicast port override." }, { "type": "promptString", "id": "group", "description": "Discovery multicast group (default 239.255.77.91)." }, { "type": "promptString", "id": "port", "description": "Discovery multicast port (default 47892)." } ], "servers": { "Console.Lib.Inspector": { "type": "stdio", "command": "dnx", "args": ["Console.Lib.Inspector@5.12.2301+04e0ecf04f0e43f78bc44dcc5d75d994684fe2ae", "--yes", "--", "--group", "${input:group}", "--port", "${input:port}"], "env": { "CONSOLE_INSPECTOR_GROUP": "${input:CONSOLE_INSPECTOR_GROUP}", "CONSOLE_INSPECTOR_PORT": "${input:CONSOLE_INSPECTOR_PORT}" } } } }
.vscode/mcp.json settings file.
dotnet tool install --global Console.Lib.Inspector --version 5.12.2301
dotnet new tool-manifest
dotnet tool install --local Console.Lib.Inspector --version 5.12.2301
#tool dotnet:?package=Console.Lib.Inspector&version=5.12.2301
nuke :add-package Console.Lib.Inspector --version 5.12.2301
Console.Lib
A .NET library for building terminal applications with dock-based layouts, widgets, mouse/keyboard input, VT styling, and Sixel graphics rendering. AOT-compatible, targeting .NET 10.
This repo also ships mdcat — a cat-for-Markdown CLI built on the library (see below).
Features
- Dock-based layout — top/bottom/left/right/fill panels that recompute on terminal resize, built on DIR.Lib's surface-neutral
DockLayout<T>engine - Cell-surface layout —
CellLayoutpaints DIR.Lib's arrangedLayoutNodetrees (the same ones the pixel painter uses) to character cells, with click-region hit-testing - Widget system —
TextBar,TextInputBar,TextArea,ScrollableList<T>,TreeView<T>,Canvas<TSurface>,MarkdownWidget,MenuWidget - Sixel graphics — high-performance encoder (14× faster than ImageMagick's built-in Sixel writer); plus Unicode sextant and half-block fallbacks for terminals without Sixel
- VT styling —
VtStylewith 16-color SGR and TrueColor modes, automatic capability detection;StreamColorcolours a CLI's plain stdout or stderr (off when redirected or underNO_COLOR, Windows VT switched on per stream) - Markdown + LaTeX rendering — headings, tables, lists, fenced code, inline
[text]{color}syntax, OSC 8 hyperlinks for clickable links, inline + display math (\(...\),$$...$$,\[...\]),\ce{...}chemistry markup, and images (rasterized to Sixel / blocks, with alt-text fallback). Parsing is driven by LALR.CC grammars in DIR.Lib.Markdown; Console.Lib is the VT-output layer.MarkdownOutputwrites it to a CLI's standard output as mdcat does, with anOutputFormat(auto,rich,markdown,plain) for an--output-formatoption. - Input handling — unified keyboard + mouse events with UTF-8 codepoint decoding, SGR mouse tracking in alternate screen
- Menu system — arrow-key navigation, digit shortcuts, mouse support, alternate/normal mode
- Cross-platform — Windows VT I/O via Win32, native VT100 on Unix/macOS
Quick start
dotnet add package Console.Lib
var terminal = new VirtualTerminal();
await terminal.InitAsync();
terminal.EnterAlternateScreen();
var panel = new Panel(terminal);
var statusBar = new TextBar(panel.Dock(DockStyle.Bottom, 1));
var main = panel.Fill();
statusBar.Text(" Ready").Style(new VtStyle(SgrColor.BrightWhite, SgrColor.BrightBlack)).Render();
mdcat — cat for Markdown
mdcat is a tiny CLI that renders a Markdown file (or stdin) to styled terminal
output using Console.Lib's MarkdownRenderer — headings, bold/italic, lists, tables,
fenced code, OSC 8 hyperlinks, LaTeX math, and local images (Sixel / sextant /
half-block, auto-detected). Color support is auto-detected, with a richer GitHub-Dark
palette on truecolor terminals.
dotnet tool install --global mdcat # .NET global tool (needs the .NET 10 runtime)
mdcat README.md # render a file
cat notes.md | mdcat - # render from stdin
Prebuilt, self-contained native-AOT binaries (no runtime required) for Linux / Windows /
macOS on x64 and arm64 are on the Releases
page. See src/MdCat/README.md for all options, install methods,
exit codes, and math-font details.
Building
dotnet build src/Console.Lib
dotnet test src/Console.Lib.Tests
dotnet run --project src/MdCat -- README.md # build & run the mdcat CLI in place
Debug builds (Console.Lib.Debug)
The published Console.Lib is built Release, so the #if DEBUG types (ConsoleDebugInspector and the rest of
the debug-inspector layer) are absent from it. Console.Lib.Debug is the same library at the same version, built
Debug, and it depends on DIR.Lib.Debug. Reference one or the other by configuration (Visual Studio needs a
restore after switching):
<ItemGroup Condition="'$(Configuration)' == 'Debug'">
<PackageReference Include="Console.Lib.Debug" Version="5.12.*" />
</ItemGroup>
<ItemGroup Condition="'$(Configuration)' != 'Debug'">
<PackageReference Include="Console.Lib" Version="5.12.*" />
</ItemGroup>
Documentation
See src/Console.Lib/README.md for the full API reference, architecture diagram, and detailed usage guide.
License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 5.12.2301 | 33 | 10/28/2026 |
| 5.11.2281 | 37 | 10/25/2026 |
| 5.10.2261 | 49 | 10/18/2026 |
| 5.9.2241 | 43 | 10/18/2026 |
| 5.8.2191 | 44 | 10/16/2026 |
| 5.7.2151 | 40 | 10/16/2026 |
| 5.7.2131 | 39 | 10/15/2026 |
| 5.7.2111 | 39 | 10/14/2026 |
| 5.6.2091 | 42 | 10/14/2026 |
| 5.6.2071 | 38 | 10/13/2026 |
| 5.6.2061 | 31 | 10/13/2026 |
| 5.5.2051 | 44 | 10/9/2026 |
| 5.5.2041 | 52 | 9/25/2026 |
| 5.5.2031 | 45 | 9/25/2026 |
| 5.5.2021 | 41 | 9/24/2026 |
| 5.4.2011 | 40 | 9/24/2026 |
| 5.4.2001 | 47 | 9/24/2026 |
| 5.4.1991 | 47 | 9/23/2026 |
| 5.3.1971 | 45 | 9/23/2026 |
| 5.2.1951 | 48 | 9/19/2026 |