T# Vision is a text-mode UI framework for C# and .NET, with Turbo Vision-style windows, dialogs, menus, editors and keyboard-driven interaction. Applications use the core framework with a console, terminal or SDL graphical driver.
| Package | Purpose |
|---|---|
TSharpVision |
Core framework; includes a headless NullDriver |
TSharpVision.Drivers.Console |
Native Windows Console driver |
TSharpVision.Drivers.Terminal |
Outer ANSI terminal host driver |
TSharpVision.Drivers.SDL |
SDL3 graphical drivers |
TSharpVision.CodeEditor |
Syntax-aware code editor components using TextMate grammars |
TSharpVision.HexView |
Paged read-only hexadecimal view over a byte source |
TSharpVision.TableView |
Paged read-only table view over a row source |
TSharpVision.Terminal |
Terminal widget, emulator and byte-stream sessions, including ConPTY and POSIX PTY |
Install one driver package; it brings in TSharpVision transitively, including the public core APIs used below. A separate core reference is only needed for a core-only/headless application or when intentionally managing its version directly.
Package metadata currently defaults to 0.1.0-preview.4. This does not imply a NuGet.org publication. Use an available prerelease from your configured feed; see Getting Started for local-feed setup.
Use the .NET 10 SDK to build (net10.0) and a matching .NET 10 runtime to run framework-dependent applications. Console needs an attached Windows console; Terminal targets interactive Linux/macOS terminals; SDL needs a desktop display, native runtime assets and a usable font. See Platform Support for the distinction between available packages and tested runtime behavior.
In a Windows console, create a project and install the Console driver from your configured package feed:
dotnet new console -n HelloTSharpVision -f net10.0
cd HelloTSharpVision
dotnet add package TSharpVision.Drivers.Console --prereleaseReplace Program.cs with:
using System;
using TSharpVision;
using TSharpVision.Constants;
Environment.SetEnvironmentVariable("TSHARPVISION_DRIVER", "Win32ConsoleDriver");
return TSharpVisionRuntime.Run(() => new HelloApp(), "Hello TSharpVision");
sealed class HelloApp : TApplication
{
public HelloApp()
{
var window = new TWindow(new TRect(2, 2, 52, 10), "Hello", Views.wnNoNumber);
window.Insert(new TStaticText(new TRect(2, 2, 46, 4),
"Hello from TSharpVision! Alt+X exits."));
DeskTop.Insert(window);
}
}Run dotnet run. You should see a window with a greeting; press Alt+X to exit. Use an interactive console, not an IDE output pane or redirected input/output. For Linux/macOS or a graphical window, choose the package and driver shown in Drivers.
Select a driver before starting the runtime. The examples choose an exact driver name to avoid depending on automatic selection. See Drivers for Console, Terminal, SDL and headless examples.
TSharpVision's original project work uses the MIT License.
