CodeBrix.Terminal.MitLicenseForever 1.0.250.30

dotnet add package CodeBrix.Terminal.MitLicenseForever --version 1.0.250.30
                    
NuGet\Install-Package CodeBrix.Terminal.MitLicenseForever -Version 1.0.250.30
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CodeBrix.Terminal.MitLicenseForever" Version="1.0.250.30" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CodeBrix.Terminal.MitLicenseForever" Version="1.0.250.30" />
                    
Directory.Packages.props
<PackageReference Include="CodeBrix.Terminal.MitLicenseForever" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add CodeBrix.Terminal.MitLicenseForever --version 1.0.250.30
                    
#r "nuget: CodeBrix.Terminal.MitLicenseForever, 1.0.250.30"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package CodeBrix.Terminal.MitLicenseForever@1.0.250.30
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=CodeBrix.Terminal.MitLicenseForever&version=1.0.250.30
                    
Install as a Cake Addin
#tool nuget:?package=CodeBrix.Terminal.MitLicenseForever&version=1.0.250.30
                    
Install as a Cake Tool

CodeBrix.Terminal

A .NET terminal emulation engine with Unicode text support.

CodeBrix.Terminal is a .NET (10 or higher) library that provides a virtual terminal (VT100/VT220/VT400/xterm-compatible) emulation engine, including a full ANSI/DEC escape sequence parser, terminal buffer management, and Unicode text utilities. It can be used to build terminal emulator UIs, process terminal output programmatically, or integrate terminal functionality into .NET applications. It has no dependencies, other than the .NET runtime.

CodeBrix.Terminal is provided as a .NET 10 library and associated CodeBrix.Terminal.MitLicenseForever NuGet package.

CodeBrix.Terminal supports applications and assemblies that target Microsoft .NET version 10.0 and later. Microsoft .NET version 10.0 is a Long-Term Supported (LTS) version of .NET, and was released on Nov 11, 2025; and will be actively supported by Microsoft until Nov 14, 2028. Please update your C#/.NET code and projects to the latest LTS version of Microsoft .NET.

Installation

dotnet add package CodeBrix.Terminal.MitLicenseForever

This repository produces exactly ONE NuGet package. Note that the package ID and the namespaces are different - there is no package named plain CodeBrix.Terminal, and none named CodeBrix.Terminal.Text:

  • NuGet package ID: CodeBrix.Terminal.MitLicenseForever
  • Assembly: CodeBrix.Terminal
  • Namespaces inside that one assembly: CodeBrix.Terminal.Engine (the emulation engine) and CodeBrix.Terminal.Text (the Unicode text utilities) - i.e. using CodeBrix.Terminal.Engine; and using CodeBrix.Terminal.Text;

CodeBrix.Terminal.Text is a namespace, not a separate package: adding the one package above gives you both.

XML documentation (IntelliSense) ships alongside the assembly.

The package has no NuGet dependencies at all - nothing beyond .NET itself is pulled in.

CodeBrix.Terminal supports:

  • VT100/VT220/VT400/xterm-compatible escape sequence parsing and handling
  • Terminal buffer management with scrollback history
  • Cursor positioning and movement (CUP, CUU, CUD, CUF, CUB, etc.)
  • Scroll regions (DECSTBM) and left/right margins (DECSLRM)
  • Scroll up (SU) and scroll down (SD) operations
  • Character insert and delete (ICH, DCH, DECIC, DECDC)
  • Line insert and delete (IL, DL)
  • Erase operations (ED, EL, ECH, DECERA, DECSERA)
  • Rectangular area operations (DECCRA, DECFRA, DECRQCRA)
  • SGR character attributes (bold, italic, underline, blink, inverse, dim, invisible)
  • 8-color, 16-color (bright/aixterm), and 256-color foreground and background
  • Device status reports (DSR) and device attributes (DA1, DA2)
  • DCS status string reports (DECRQSS)
  • Terminal modes (DECSET/DECRESET) including origin mode, wraparound, and bracketed paste
  • Mouse tracking modes and protocol encodings
  • Normal and alternate screen buffers
  • Tab stop management
  • Character set designation and selection (G0-G3)
  • Selection and search services
  • Terminal resize with content reflow
  • Pseudo-terminal (PTY) fork and exec support (Unix)

CodeBrix.Terminal.Text additionally supports:

  • Unicode character classification (upper, lower, title, digit, graphic, etc.)
  • Unicode case conversion (upper, lower, title) with special-case and locale support
  • Simple case folding
  • Unicode range table lookups
  • Rune (code point) handling and column width calculation
  • UTF-8 string type (ustring) with encoding and decoding

Sample Code

Create a Terminal and Process Input

using CodeBrix.Terminal.Engine;

// Create a terminal with default options (80x25)
var terminal = new Terminal(null, new TerminalOptions { Cols = 80, Rows = 25 });

// Feed escape sequences and text into the terminal
terminal.Feed("Hello, Terminal!\r\n");
terminal.Feed("\x1b[1;31m");  // Set bold red foreground
terminal.Feed("Red bold text\r\n");
terminal.Feed("\x1b[0m");     // Reset attributes

// Read the terminal buffer
var line = terminal.Buffer.Lines[terminal.Buffer.YBase + 0];
for (int col = 0; col < terminal.Cols; col++)
{
    var ch = line[col];
    if (ch.Code != 0)
        Console.Write((char)ch.Code);
}

Set Up Scroll Regions

using CodeBrix.Terminal.Engine;

var terminal = new Terminal(null, new TerminalOptions { Cols = 80, Rows = 25 });

// Set a scroll region (rows 5-20)
terminal.Feed("\x1b[5;20r");

// Write content, and scrolling will be confined to the region
for (int i = 0; i < 30; i++)
{
    terminal.Feed($"Line {i}\r\n");
}

Implement a Terminal Delegate

using CodeBrix.Terminal.Engine;

// Create a custom delegate to handle terminal events
public class MyTerminalDelegate : SimpleTerminalDelegate
{
    public override void Send(byte[] data)
    {
        // Handle data sent back from the terminal (e.g., device status responses)
        Console.WriteLine($"Terminal sent {data.Length} bytes");
    }

    public override void SizeChanged(Terminal source)
    {
        Console.WriteLine($"Terminal resized to {source.Cols}x{source.Rows}");
    }
}

var terminal = new Terminal(new MyTerminalDelegate(), new TerminalOptions { Cols = 120, Rows = 40 });

Documentation

The NuGet package includes AGENT-README.txt, a complete API reference and usage guide written for AI coding agents - point your agent at that file when it is writing code against this library.

Additional sample code and usage examples are available in the CodeBrix.Terminal.Engine.Tests and CodeBrix.Terminal.Text.Tests projects: https://github.com/ellisnet/CodeBrix.Terminal/tree/main/tests

A complete working application - a remote terminal client and its server - is in the samples directory.

License

CodeBrix.Terminal is licensed under the MIT License - see the LICENSE file.

For licensing and provenance information about the open source code included in this package, see THIRD-PARTY-NOTICES.txt.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on CodeBrix.Terminal.MitLicenseForever:

Package Downloads
CodeBrix.Platform.TerminalView.ApacheLicenseForever

A terminal emulator view for CodeBrix.Platform apps on every head: Windows (Win32 and Skia-on-WPF), Linux (X11, Wayland, FrameBuffer), and macOS. TerminalView is a XAML control that renders a CodeBrix.Terminal engine (VT100/VT220/xterm-compatible, the CodeBrix fork of XtermSharp) on a Skia surface: feed it bytes or text from any transport (an SSH ShellStream, a PTY, a local process) and it handles ANSI/SGR attributes and 256 colors, scrollback with a scrollbar and mouse wheel, keyboard input encoding (including application-cursor mode, Ctrl chords and Alt-as-meta), live resize with cols/rows reporting for PTY window-change requests, text selection with word/expression double-click, and clipboard copy and paste via context menu or Ctrl+Shift+C/V. Rendering uses the CodeBrix.Platform.TextLayout engine; the default font is the bundled Roboto Mono.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.250.30 0 9/7/2026
1.0.242.1438 88 8/30/2026
1.0.224.1197 118 8/12/2026
1.0.223.1140 96 8/11/2026
1.0.165.232 133 6/14/2026
1.0.117 136 4/29/2026
1.0.65 136 3/8/2026