Icod.TermInfo.Termcap 1.14.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Icod.TermInfo.Termcap --version 1.14.0
                    
NuGet\Install-Package Icod.TermInfo.Termcap -Version 1.14.0
                    
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="Icod.TermInfo.Termcap" Version="1.14.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Icod.TermInfo.Termcap" Version="1.14.0" />
                    
Directory.Packages.props
<PackageReference Include="Icod.TermInfo.Termcap" />
                    
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 Icod.TermInfo.Termcap --version 1.14.0
                    
#r "nuget: Icod.TermInfo.Termcap, 1.14.0"
                    
#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 Icod.TermInfo.Termcap@1.14.0
                    
#: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=Icod.TermInfo.Termcap&version=1.14.0
                    
Install as a Cake Addin
#tool nuget:?package=Icod.TermInfo.Termcap&version=1.14.0
                    
Install as a Cake Tool

Icod.TermInfo.Termcap

Icod.TermInfo.Termcap is the optional managed termcap interoperability layer for the Icod.TermInfo package family.

1.14 release status

Version 1.14.0 preserves the frozen 1.6 Termcap public API, Runtime-only production dependency, parsing/resolution/conversion/rendering/acquisition semantics, net8.0 / net9.0 / net10.0 support, and assembly identity 1.0.0.0. The coordinated 1.14 raster-backend work is isolated to Inspection; Termcap acquires no Source, Compiler, Inspection, Terminal, or command dependency.

Install

dotnet add package Icod.TermInfo.Termcap --version 1.14.0

The package depends only on the matching Icod.TermInfo version.

What Termcap provides

The frozen 1.6 contract includes:

  • bounded termcap source parsing with source spans and diagnostics;
  • capability classification derived from Runtime's standard capability catalog;
  • tc= inheritance resolution;
  • semantic conversion into immutable Runtime TerminalDescription values;
  • representability analysis and deterministic reverse termcap rendering;
  • explicit opt-in TERMCAP / TERMPATH and file/provider acquisition; and
  • differential, hostile-input, mutation, round-trip, and package-only validation.

Command-only composition with Source or Inspection belongs to the executable captoinfo / infotocap projects and does not change the Termcap package graph.

Parsing and classification

using Icod.TermInfo.Termcap;

TermcapSourceParseResult result = TermcapSourceParser.Parse(
	"vt|vt100|DEC VT100:am:co#80:cl=\\E[H\\E[2J:"
);

if ( !result.HasErrors ) {
	TermcapSourceEntry entry = result.Document.Entries[0];
	TermcapCapabilityClassificationResult classification =
		TermcapCapabilityClassifier.Classify( entry.Fields[1] );

	Console.WriteLine( classification.Mapping?.TermInfoLongName );
}

TermcapCapabilityCatalog derives standard mappings from Runtime metadata rather than maintaining a second standard capability table. Unmapped/vendor values and historical aliases remain explicit classification results.

Resolution and conversion

Termcap inheritance and conversion remain opt-in and deterministic. Resolve a parsed entry by one of its header names, then convert the resolved semantic state into Runtime's immutable terminal-description model. Conversion does not mutate Runtime discovery or install anything globally.

Reverse rendering

Reverse conversion reports representation loss instead of silently inventing a termcap encoding. Deterministic rendering and representability are part of the frozen 1.6 public contract.

Acquisition

Acquisition is explicit. The Termcap package does not join Runtime's terminfo discovery path and does not make host termcap state an implicit dependency. Callers choose the acquisition source/provider intentionally.

Compatibility

The Termcap public surface frozen by TC08 remains immutable through the coordinated 1.x line unless a later compatible release deliberately adds reviewed API. Version 1.14 changes package/release identity only for Termcap and does not change its semantics.

See ../docs/VERSIONING.md, ../docs/COMPATIBILITY.md, and the root ../README.md for the coordinated release contract.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.17.0 88 9/28/2026
1.16.0 87 9/27/2026
1.15.0 102 9/17/2026
1.14.0 95 9/15/2026
1.13.0 101 9/14/2026
1.12.0 92 9/13/2026
1.11.0 99 9/12/2026
1.10.0 115 9/3/2026
1.9.0 102 9/3/2026
1.8.0 140 9/2/2026
1.7.0 102 9/1/2026
1.6.1 103 9/1/2026
1.6.0 110 8/31/2026

1.14.0 preserves the frozen 1.6 Termcap public API, Runtime-only dependency, conversion semantics, net8/net9/net10 support, and 1.0.0.0 assembly identity while the coordinated Inspection package adds raster-backend capability evidence, explicit preference-aware selection, and JSON v6; no Termcap semantics change.