From bbc3a58a4a51c38adb50f3843e2bf7c542862c70 Mon Sep 17 00:00:00 2001 From: Timothy Bruce Date: Tue, 8 Sep 2026 01:58:41 -0400 Subject: [PATCH 01/19] 1.0.0: promote stable release contract --- .../workflows/distribution-validation.yaml | 4 +- .github/workflows/main.yaml | 4 +- .github/workflows/pull-request.yaml | 4 +- .github/workflows/release.yaml | 4 +- CHANGELOG.md | 25 + Directory.Build.props | 2 +- Icod.Terminal-Development-Roadmap.md | 70 ++- Icod.Terminal.csproj | 2 +- README.md | 50 +- docs/Compatibility-and-Versioning.md | 8 +- docs/Migration-to-1.0.md | 27 +- docs/Public-API-Baseline-1.0.md | 131 ++++++ docs/Public-API-Baseline-1.0.sha256 | 1 + docs/releases/1.0.0.md | 140 ++++++ packaging/README.md | 4 +- ...c1Package.ps1 => VerifyDCursesPackage.ps1} | 10 +- packaging/VerifyPackageContractShard.ps1 | 8 +- packaging/VerifyPackageDistribution.ps1 | 2 +- packaging/VerifyPublicApiBaseline.ps1 | 6 +- ...ckage.ps1 => VerifyReleaseLinePackage.ps1} | 16 +- ....Terminal.DCursesPackageAcceptance.csproj} | 0 .../dcurses-rc1-package-acceptance/Program.cs | 437 ------------------ ...d.Terminal.PackageReleaseLineSmoke.csproj} | 0 .../Program.cs | 4 +- 24 files changed, 430 insertions(+), 529 deletions(-) create mode 100644 docs/Public-API-Baseline-1.0.md create mode 100644 docs/Public-API-Baseline-1.0.sha256 create mode 100644 docs/releases/1.0.0.md rename packaging/{VerifyDCursesRc1Package.ps1 => VerifyDCursesPackage.ps1} (86%) rename packaging/{VerifyRc1Package.ps1 => VerifyReleaseLinePackage.ps1} (91%) rename tools/{dcurses-rc1-package-acceptance/Icod.Terminal.DCursesRc1PackageAcceptance.csproj => dcurses-package-acceptance/Icod.Terminal.DCursesPackageAcceptance.csproj} (100%) delete mode 100644 tools/dcurses-rc1-package-acceptance/Program.cs rename tools/{package-rc1-smoke/Icod.Terminal.PackageRc1Smoke.csproj => package-release-line-smoke/Icod.Terminal.PackageReleaseLineSmoke.csproj} (100%) rename tools/{package-rc1-smoke => package-release-line-smoke}/Program.cs (96%) diff --git a/.github/workflows/distribution-validation.yaml b/.github/workflows/distribution-validation.yaml index 05811f129..de5cce2ff 100644 --- a/.github/workflows/distribution-validation.yaml +++ b/.github/workflows/distribution-validation.yaml @@ -91,8 +91,8 @@ jobs: name: Presentation - shard: semantic name: Semantic and hardening - - shard: rc - name: 1.0 RC + - shard: release + name: 1.0 release line name: Package ${{ matrix.name }} runs-on: ubuntu-24.04 steps: diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 2cafceaea..a0ecfaf66 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -83,8 +83,8 @@ jobs: name: Presentation - shard: semantic name: Semantic and hardening - - shard: rc - name: 1.0 RC + - shard: release + name: 1.0 release line name: Package ${{ matrix.name }} runs-on: ubuntu-24.04 steps: diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml index 0d6657178..8f2c28347 100644 --- a/.github/workflows/pull-request.yaml +++ b/.github/workflows/pull-request.yaml @@ -77,8 +77,8 @@ jobs: name: Presentation - shard: semantic name: Semantic and hardening - - shard: rc - name: 1.0 RC + - shard: release + name: 1.0 release line name: Package ${{ matrix.name }} runs-on: ubuntu-latest steps: diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index ac4d9fc24..d2c26a014 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -129,8 +129,8 @@ jobs: name: Presentation - shard: semantic name: Semantic and hardening - - shard: rc - name: 1.0 RC + - shard: release + name: 1.0 release line name: Package ${{ matrix.name }} runs-on: ubuntu-latest steps: diff --git a/CHANGELOG.md b/CHANGELOG.md index e826dfcd0..39fa65fff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,31 @@ Notable changes to `Icod.Terminal` are recorded here for consumers who need a co No unreleased 1.x changes are currently recorded. +## 1.0.0 + +### Stable contract + +- Promotes the `1.0.0-rc1` contract to stable `1.0.0` without changing the frozen public API or adding a new terminal-protocol family. +- Establishes the permanent 1.x architecture, ownership, lifecycle, input/query, presentation/output, security, compatibility, migration, and public-API documents as the stable support authorities. +- Retains `net8.0`, `net9.0`, and `net10.0` as first-class package targets. +- Retains Windows, Linux, and macOS support in the built-in system terminal-control provider. + +### Compatibility + +- Keeps the rc1 public API fingerprint unchanged: `8b213bb287e14729b07f0e640c8c1b1a5aa36b26f867f1e97604fb86fded36e5`. +- Carries the one pre-1.0 breaking correction forward: public `TerminalSession.Input` remains removed so a live session has one authoritative input/query-routing path. +- Retains public `ITerminalInput`, `ITerminalOutput`, and `ITerminalControlProvider` injection seams. +- Retains `TerminalSession.Output` as the documented advanced borrowed output transport outside session serialization. + +### Validation and release engineering + +- Uses the optimized runtime/package validation graph proven after rc1: six OS/architecture runtime jobs, one portable package candidate, and four parallel package-contract shards. +- Retains exact package/XML/symbol/Source Link verification and package-only contracts from 0.8 through 0.18. +- Retains the fresh 1.0 release-line package contract and current packaged `Icod.DCurses 0.1.0` compatibility witness. +- Requires curated release notes for tag publication. + +See `docs/releases/1.0.0.md` for the full stable release notes. + ## 1.0.0-rc1 ### Contract freeze diff --git a/Directory.Build.props b/Directory.Build.props index ace514167..b79526dc1 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -2,7 +2,7 @@ 1.0.0 - rc1 + $(VersionPrefix) $(VersionPrefix)-$(VersionSuffix) $(Version) diff --git a/Icod.Terminal-Development-Roadmap.md b/Icod.Terminal-Development-Roadmap.md index 1c68b36fa..ab8c6f3b9 100644 --- a/Icod.Terminal-Development-Roadmap.md +++ b/Icod.Terminal-Development-Roadmap.md @@ -4,19 +4,22 @@ **Package:** `Icod.Terminal` **Language:** C# 13 **Target frameworks:** `net8.0`; `net9.0`; `net10.0` -**Current release line:** `1.0.0-rc1` -**Current roadmap:** [`Icod.Terminal-1.0.0-rc1-Development-Roadmap.md`](Icod.Terminal-1.0.0-rc1-Development-Roadmap.md) -**Stable contract target:** `1.0.0` +**Current release line:** `1.0.0` +**Stable contract:** `1.0.0` ## Purpose -This file is the permanent entry point for current `Icod.Terminal` development planning. +This file is the permanent entry point for current `Icod.Terminal` development and release planning. The repository began with a detailed pre-1.0 architecture and milestone plan. That original document remains valuable historical design evidence and is preserved verbatim at: [`docs/history/Icod.Terminal-Initial-Development-Roadmap.md`](docs/history/Icod.Terminal-Initial-Development-Roadmap.md) -The current release-specific roadmap, rather than the historical initial plan, is authoritative for active development state. +The completed rc1 development program remains preserved at: + +[`Icod.Terminal-1.0.0-rc1-Development-Roadmap.md`](Icod.Terminal-1.0.0-rc1-Development-Roadmap.md) + +Stable `1.0.0` promotes that qualified contract without adding a new feature or public-API delta. ## Current architecture @@ -38,11 +41,9 @@ terminal applications - `Icod.DCurses` owns cells, windows, virtual-screen state, refresh/diff policy, and curses presentation abstractions. - PTY/process hosting remains orthogonal to the `Icod.Terminal` runtime contract. -## Current 1.0 release-candidate program +## Stable 1.0 program -`1.0.0-rc1` is a contract-freeze release rather than a protocol-expansion release. - -Its tranches are: +The pre-1.0 contract-freeze program completed T190–T197 covering: ```text T190 contract and public-API regret audit @@ -55,7 +56,9 @@ T196 package metadata / documentation artifact closure T197 downstream RC acceptance / release-candidate closure ``` -See the current rc1 roadmap for exact tranche status and validation workflow numbers. +`1.0.0-rc1` was published and qualified. Publication/CI hardening then merged to `main` at `dfa149c604aaf860a18923d23999b045ab98532d`; workflow run `34191123678` passed the redesigned six-runtime/single-package/four-shard Release validation graph. + +Stable `1.0.0` is a release promotion only. No new terminal protocol, production feature, or public API change is permitted in the stable-promotion branch unless a release-blocking defect is discovered and explicitly re-audited. ## Permanent 1.x authorities @@ -70,25 +73,54 @@ Consumers and maintainers should treat these documents as the current contract a - `docs/Presentation-and-Reversible-State.md` - `docs/Semantic-Output-Protocols.md` - `docs/Security-and-Privacy.md` -- `docs/Public-API-Baseline-1.0-rc1.md` +- `docs/Public-API-Baseline-1.0.md` - `docs/Compatibility-and-Versioning.md` - `docs/Migration-to-1.0.md` +- `docs/releases/1.0.0.md` +- `CHANGELOG.md` -Historical `Txxx`, `Public-API-Baseline-0.x`, and version-specific roadmap files remain design/release evidence. +Historical T-series, 0.x public API baselines, and `Public-API-Baseline-1.0-rc1.*` remain design/release evidence. + +## Stable API baseline + +Stable 1.0 must reproduce the rc1 public API fingerprint exactly: + +```text +633 lines +77 exported public types +32 public enums / 242 enum values +124 public methods +144 public properties +13 public constructors +SHA-256 8b213bb287e14729b07f0e640c8c1b1a5aa36b26f867f1e97604fb86fded36e5 +``` + +Any deviation during stable promotion is a release blocker requiring explicit compatibility review rather than a baseline update by default. ## Release discipline -Pull requests validate the Staging configuration on Windows, Linux, and macOS. Distribution validation on `main` uses Release across the configured Windows/Linux/macOS x64/ARM64 matrix. +Pull requests validate Staging on Windows, Linux, and macOS runtime/source paths while one portable package candidate feeds four parallel package-contract shards. + +`main` Release validation runs runtime/source checks on: + +- Windows x64; +- Windows ARM64; +- Linux x64; +- Linux ARM64; +- macOS x64; +- macOS ARM64; + +and separately validates one RID-independent package candidate through the four package shards. -The release candidate retains: +The release line retains: - full build/test coverage on `net8.0`, `net9.0`, and `net10.0`; -- the frozen 1.0 public-API fingerprint; -- exact NuGet artifact/XML verification; +- the frozen stable 1.0 public-API fingerprint; +- exact NuGet artifact/XML/symbol/Source Link verification; - historical package-only contracts from 0.8 through 0.18; -- a fresh 1.0 release-candidate package-only contract; -- current `Icod.DCurses 0.1.0` project-reference and package-boundary integration/ownership acceptance. +- the stable 1.0 release-line package contract; +- current `Icod.DCurses 0.1.0` project-reference and package-boundary compatibility/ownership acceptance. The DCurses checks are compatibility witnesses for the integration surface its current early release exercises. They are not treated as exhaustive proof of every `Icod.Terminal` contract; Terminal's own API, invariant, unit/hardening, and package gates remain the primary release evidence for the full 1.x surface. -Tags trigger publication. A tag is created only after the exact release candidate has passed the required PR and post-merge Release gates and publication is explicitly authorized. +Tags trigger publication. Tag `v1.0.0` is created only after the exact stable-promotion PR head and resulting exact `main` commit pass their required gates and publication is explicitly authorized. diff --git a/Icod.Terminal.csproj b/Icod.Terminal.csproj index eda9797c0..bc5994f3f 100644 --- a/Icod.Terminal.csproj +++ b/Icod.Terminal.csproj @@ -19,7 +19,7 @@ Icod.Terminal Timothy J. Bruce Managed, cross-platform live-terminal session, endpoint, mode, input, lifecycle, and terminal-control foundation for .NET. - Icod.Terminal 1.0.0-rc1 freezes the intended 1.x contract across net8.0/net9.0/net10.0. Breaking change: public TerminalSession.Input is removed so a live session retains one authoritative input/query-routing path; ITerminalInput remains public for custom transport injection. The release candidate adds permanent 1.x documentation, a machine-frozen public API/enum baseline, compatibility/migration policy, and strengthened package/release validation without adding a new terminal protocol family. Full notes: https://github.com/uniblab/Icod.Terminal/blob/v1.0.0-rc1/docs/releases/1.0.0-rc1.md ; migration: https://github.com/uniblab/Icod.Terminal/blob/v1.0.0-rc1/docs/Migration-to-1.0.md + Icod.Terminal 1.0.0 establishes the stable 1.x contract across net8.0/net9.0/net10.0 with the same frozen public API and enum layout qualified by 1.0.0-rc1. Breaking change from the final 0.x line: public TerminalSession.Input is removed so a live session retains one authoritative input/query-routing path; ITerminalInput remains public for custom transport injection. Stable 1.0 adds no new terminal protocol family beyond rc1; it promotes the documented architecture, ownership, lifecycle, query, restoration, security, compatibility, and package contracts to stable support. Full notes: https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/releases/1.0.0.md ; migration: https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Migration-to-1.0.md README.md icon.png https://github.com/uniblab/Icod.Terminal diff --git a/README.md b/README.md index 1ac70b598..18216ec3a 100644 --- a/README.md +++ b/README.md @@ -6,21 +6,21 @@ ## Status -`1.0.0-rc1` is the release candidate for the intended 1.x contract. +`1.0.0` is the stable release of the intended 1.x contract. -The rc1 line is a **contract freeze and permanent-documentation release**, not a new terminal-protocol wave. It consolidates the accumulated 0.x behavior into durable 1.x authorities, freezes the exported API/enum layout, defines compatibility and migration policy, and validates the package through Terminal-owned package/invariant gates plus current downstream compatibility checks. +Stable 1.0 promotes the contract qualified by `1.0.0-rc1` without adding a new terminal-protocol family or changing the frozen public API. It consolidates the accumulated 0.x behavior into durable 1.x authorities, freezes the exported API/enum layout, defines compatibility and migration policy, and validates the package through Terminal-owned package/invariant gates plus current downstream compatibility checks. The one intentional pre-1.0 API correction is that a live `TerminalSession` no longer exposes its raw input transport through `TerminalSession.Input`. `ITerminalInput` remains public for custom transport injection. Application input now has one authoritative live-session path through `ReadEventAsync(...)` and typed query operations. Full release notes and concise release history: -- [Icod.Terminal 1.0.0-rc1 release notes](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0-rc1/docs/releases/1.0.0-rc1.md) -- [Changelog](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0-rc1/CHANGELOG.md) +- [Icod.Terminal 1.0.0 release notes](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/releases/1.0.0.md) +- [Changelog](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/CHANGELOG.md) ## Installation ```text -dotnet add package Icod.Terminal --version 1.0.0-rc1 +dotnet add package Icod.Terminal --version 1.0.0 ``` The package targets: @@ -159,7 +159,7 @@ The library does not automatically discover or redact secrets. Applications rema ## Compatibility policy -The rc1 public API is machine-frozen across net8.0/net9.0/net10.0. Existing public enum numeric values are part of that baseline. +The stable 1.0 public API is machine-frozen across net8.0/net9.0/net10.0. Existing public enum numeric values are part of that baseline. For the stable 1.x line: @@ -181,22 +181,22 @@ Other hosts receive controlled `Unsupported` results from the built-in provider. ## Permanent documentation -The links below are intentionally pinned to the `v1.0.0-rc1` tag so the documentation bundled with the rc1 package cannot silently drift as `main` advances: +The links below are intentionally pinned to the `v1.0.0` tag so documentation bundled with the stable package cannot silently drift as `main` advances: -- [Architecture](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0-rc1/docs/Architecture.md) -- [Terminal Session and Ownership](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0-rc1/docs/Terminal-Session-and-Ownership.md) -- [Lifecycle and Restoration](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0-rc1/docs/Lifecycle-and-Restoration.md) -- [Input and Events](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0-rc1/docs/Input-and-Events.md) -- [Queries and Responses](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0-rc1/docs/Queries-and-Responses.md) -- [Modern Keyboard Security and Compatibility](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0-rc1/docs/Modern-Keyboard-Security-and-Compatibility.md) -- [Presentation and Reversible State](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0-rc1/docs/Presentation-and-Reversible-State.md) -- [Semantic Output Protocols](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0-rc1/docs/Semantic-Output-Protocols.md) -- [Security and Privacy](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0-rc1/docs/Security-and-Privacy.md) -- [Public API Baseline](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0-rc1/docs/Public-API-Baseline-1.0-rc1.md) -- [Compatibility and Versioning](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0-rc1/docs/Compatibility-and-Versioning.md) -- [Migration to 1.0](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0-rc1/docs/Migration-to-1.0.md) +- [Architecture](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Architecture.md) +- [Terminal Session and Ownership](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Terminal-Session-and-Ownership.md) +- [Lifecycle and Restoration](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Lifecycle-and-Restoration.md) +- [Input and Events](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Input-and-Events.md) +- [Queries and Responses](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Queries-and-Responses.md) +- [Modern Keyboard Security and Compatibility](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Modern-Keyboard-Security-and-Compatibility.md) +- [Presentation and Reversible State](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Presentation-and-Reversible-State.md) +- [Semantic Output Protocols](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Semantic-Output-Protocols.md) +- [Security and Privacy](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Security-and-Privacy.md) +- [Public API Baseline](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Public-API-Baseline-1.0.md) +- [Compatibility and Versioning](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Compatibility-and-Versioning.md) +- [Migration to 1.0](https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Migration-to-1.0.md) -Historical T-series and 0.x public-API baselines remain available as design/release evidence. +Historical T-series, 0.x baselines, and the rc1 baseline remain available as design/release evidence. ## Samples @@ -216,23 +216,23 @@ On POSIX hosts: sh build.sh ``` -PR validation runs Windows/Linux/macOS builds and tests, the frozen 1.0 public-API fingerprint, exact Staging package verification, retained package-only contracts from 0.8 through 0.18, and the fresh 1.0 release-candidate package contract. +PR validation runs Windows/Linux/macOS runtime/source validation, the frozen 1.0 public-API fingerprint, one portable package candidate, and four parallel package-contract shards retaining contracts from 0.8 through the stable 1.0 release line. The repository also runs current `Icod.DCurses 0.1.0` integration/ownership acceptance, including a package-boundary soak against the freshly packed Terminal artifact. Because DCurses is still an early downstream, these checks are **compatibility witnesses for the integration paths it currently exercises**, not exhaustive proof of every `Icod.Terminal` 1.x contract. Terminal's own API, invariant, unit/hardening, and package gates remain the primary release evidence for the full surface. -After merge, Release distribution validation runs the same distribution contract across the configured Windows/Linux/macOS x64/ARM64 matrix. +After merge, Release distribution validation runs six Windows/Linux/macOS x64/ARM64 runtime jobs plus the single portable package/four-shard package contract. ## Release process -`1.0.0-rc1` is publishable only after the exact PR head is green, the merge result passes Release distribution validation, and publication is explicitly authorized. +`1.0.0` is publishable only after the exact stable-promotion PR head is green, the merge result passes Release distribution validation, and publication is explicitly authorized. -The tag-triggered workflow requires curated `docs/releases/.md` release notes and re-runs the frozen API, hardening, historical package, rc1 package, and current downstream compatibility gates before publication. It does not fall back to generic auto-generated GitHub notes. +The tag-triggered workflow requires curated `docs/releases/.md` release notes and re-runs the frozen API, hardening, historical package, stable release-line package, and current downstream compatibility gates before publication. It does not fall back to generic auto-generated GitHub notes. Tagging triggers publication; no release tag should be created merely because a PR is green. ## Development roadmap -Current rc1 work is tracked in [`Icod.Terminal-1.0.0-rc1-Development-Roadmap.md`](Icod.Terminal-1.0.0-rc1-Development-Roadmap.md). +Current release status is tracked in [`Icod.Terminal-Development-Roadmap.md`](Icod.Terminal-Development-Roadmap.md). The completed rc1 program remains preserved in `Icod.Terminal-1.0.0-rc1-Development-Roadmap.md`. ## License diff --git a/docs/Compatibility-and-Versioning.md b/docs/Compatibility-and-Versioning.md index a3e9ccfed..97715fdaa 100644 --- a/docs/Compatibility-and-Versioning.md +++ b/docs/Compatibility-and-Versioning.md @@ -18,12 +18,14 @@ A bug fix may change observed behavior when the previous behavior violated the a ## 2. Machine public-API baseline -The rc1 exported surface is frozen by: +The stable `1.0.0` exported surface is frozen by: -- `docs/Public-API-Baseline-1.0-rc1.md`; -- `docs/Public-API-Baseline-1.0-rc1.sha256`; +- `docs/Public-API-Baseline-1.0.md`; +- `docs/Public-API-Baseline-1.0.sha256`; - `packaging/VerifyPublicApiBaseline.ps1`. +Stable 1.0 intentionally adopts the same fingerprint qualified by `1.0.0-rc1`; the rc1 baseline remains historical qualification evidence. + The reflection snapshot covers exported types, constructors, methods, properties, interfaces, nullability/default information represented by the generator, constants, and public enum numeric values across net8.0/net9.0/net10.0. The fingerprint is a review gate, not a declaration that 1.x can never grow. An intentional compatible addition in a minor release requires an explicit baseline update in the same reviewed change. Accidental drift must fail CI. diff --git a/docs/Migration-to-1.0.md b/docs/Migration-to-1.0.md index 5087e702c..6ad69f7e6 100644 --- a/docs/Migration-to-1.0.md +++ b/docs/Migration-to-1.0.md @@ -1,15 +1,15 @@ # Migration to Icod.Terminal 1.0 -This document describes migration from the final pre-1.0 line (`0.18.0`) to `1.0.0-rc1` and the intended stable `1.0.0` contract. +This document describes migration from the final pre-1.0 line (`0.18.0`) to stable `1.0.0`. -The migration is intentionally small. The rc1 program is primarily contract freeze, permanent documentation, and compatibility proof rather than a new protocol release. +The migration is intentionally small. The 1.0 program is primarily contract freeze, permanent documentation, compatibility proof, and stable release closure rather than a new protocol release. ## 1. Package update -Change the package reference from the final pre-1.0 release to the release candidate when evaluating rc1: +Change the package reference from the final pre-1.0 release to stable 1.0: ```xml - + ``` The supported target frameworks remain: @@ -26,7 +26,7 @@ The public package continues to depend on the same live-terminal architecture: ` The sole D-class pre-1.0 correction is removal of the public `TerminalSession.Input` property. -Before rc1, code could obtain the raw input transport from a live session. That cannot coexist safely with the session's authoritative incremental decoder and query router because a competing read can steal bytes belonging to UTF-8 scalars, escape sequences, paste/mouse/focus reports, Kitty keyboard frames, or active query responses. +Before 1.0, code could obtain the raw input transport from a live session. That cannot coexist safely with the session's authoritative incremental decoder and query router because a competing read can steal bytes belonging to UTF-8 scalars, escape sequences, paste/mouse/focus reports, Kitty keyboard frames, or active query responses. The public `ITerminalInput` interface is **not** removed. It remains the custom-transport injection seam when opening a session. @@ -96,7 +96,7 @@ Ordinary applications should prefer session-managed operations such as: All semantic terminal protocol APIs present in 0.18 remain available unless affected by the single raw-input correction above. -There is no rc1 migration from one protocol family to another. +Stable 1.0 does not replace one protocol family with another. In particular: @@ -174,9 +174,9 @@ On another operating system, the built-in provider returns controlled `Unsupport ## 10. Public enum values -The rc1 machine baseline freezes the current public enum numeric layout for 1.x. +The stable 1.0 machine baseline freezes the current public enum numeric layout for the 1.x line. -Applications should not depend on superseded numeric layouts from early pre-1.0 development documents. The authoritative rc1 values are the values compiled into the package and recorded by the 1.0 public-API fingerprint. +Applications should not depend on superseded numeric layouts from early pre-1.0 development documents. The authoritative stable values are the values compiled into the `1.0.0` package and recorded by the stable 1.0 public-API fingerprint. Existing values will not be renumbered within ordinary 1.x releases. @@ -201,7 +201,7 @@ A query timeout should not be translated automatically to “terminal does not s For a typical 0.18 consumer: -1. update the package reference to rc1; +1. update the package reference to `1.0.0`; 2. compile on every TFM you ship; 3. search for `session.Input` / `TerminalSession.Input`; 4. replace raw live-session input reads with `ReadEventAsync(...)` or typed query APIs; @@ -213,7 +213,13 @@ For a typical 0.18 consumer: If none of your code used the removed raw input property, migration from 0.18 should generally be a package-version change plus normal regression testing. -## 13. Historical documentation +## 13. Release-candidate history + +`1.0.0-rc1` qualified the same public API/behavioral contract before stable promotion. Stable `1.0.0` intentionally does not introduce a new feature or API delta relative to that candidate. + +The rc1 roadmap, T-series records, and `Public-API-Baseline-1.0-rc1.*` files remain historical qualification evidence. + +## 14. Historical documentation The `0.x` roadmaps and T-series documents remain useful as design evidence, protocol references, and exact test history. @@ -227,4 +233,5 @@ They are no longer required reading to understand the supported 1.x behavior. Pr - `Presentation-and-Reversible-State.md`; - `Semantic-Output-Protocols.md`; - `Security-and-Privacy.md`; +- `Public-API-Baseline-1.0.md`; - `Compatibility-and-Versioning.md`. diff --git a/docs/Public-API-Baseline-1.0.md b/docs/Public-API-Baseline-1.0.md new file mode 100644 index 000000000..0973f1bd5 --- /dev/null +++ b/docs/Public-API-Baseline-1.0.md @@ -0,0 +1,131 @@ +# Icod.Terminal Public API Baseline — 1.0.0 + +**Release:** `1.0.0` +**Target frameworks:** `net8.0`, `net9.0`, `net10.0` + +## Purpose + +This document is the stable public source/binary contract for `Icod.Terminal` 1.x. + +Stable `1.0.0` intentionally adopts the exact public surface qualified by `1.0.0-rc1`. The rc1 baseline remains checked in as historical qualification evidence; this document is the permanent stable authority. + +The baseline is machine generated from the built assembly rather than reconstructed from historical release notes. It covers exported public types and members, method/constructor signatures, property accessors including `init`, nullability, optional/default parameter values, implemented public interfaces, constants where represented by the snapshot format, generic constraints represented by the snapshot format, and every public enum numeric value. + +The permanent behavioral contract is documented separately in the 1.x architecture, ownership, lifecycle, input/query, presentation/output, and security documents. This baseline freezes API shape; those documents freeze supported semantics. + +## Exact machine fingerprint + +The deterministic reflection snapshot contains: + +```text +633 lines +77 exported public types +32 public enums +242 public enum values +124 public methods +144 public properties +13 public constructors +``` + +After normalizing line endings to LF, the stable SHA-256 is: + +```text +8b213bb287e14729b07f0e640c8c1b1a5aa36b26f867f1e97604fb86fded36e5 +``` + +The authoritative fingerprint is stored in: + +`docs/Public-API-Baseline-1.0.sha256` + +`packaging/VerifyPublicApiBaseline.ps1` regenerates the snapshot independently for net8.0, net9.0, and net10.0, first proves the TFMs agree with one another, and then proves the normalized fingerprint matches this stable value. + +A future intentional public-surface change therefore cannot pass validation merely because every TFM changed in the same way; the checked-in 1.x baseline must also be reviewed and deliberately updated. + +## Deliberate pre-1.0 correction + +T190 found one D-class regret correction before the 1.0 freeze: + +```text +TerminalSession.Input +``` + +is no longer public. + +`ITerminalInput` remains a public custom-transport injection seam, and the custom `TerminalSession.OpenAsync(...)` overload still accepts caller-supplied `ITerminalInput` and `ITerminalOutput` implementations. Once a session is live, however, input is owned by one authoritative decoder/query-router path through `ReadEventAsync(...)` and typed query methods. Returning the raw input transport would allow a second reader to steal fragmented input or correlated responses. + +`TerminalSession.Output` remains public as an advanced borrowed transport. Direct writes through it are outside session serialization and are caller-coordinated; ordinary consumers should prefer session-managed semantic output APIs. + +This is the only intentional public removal between the published 0.18 surface and stable 1.0. + +## Enum numeric-value freeze + +Every public enum value is included in the machine fingerprint. This is the authoritative 1.x numeric baseline, including values that evolved during early pre-1.0 development. + +Particularly important compatibility anchors include: + +```text +TerminalInputEventKind + Text = 0 + Key = 1 + Mouse = 2 + Focus = 3 + Paste = 4 + EndOfInput = 5 + +TerminalEventKind + Input = 0 + Lifecycle = 1 + Timeout = 2 + Cancelled = 3 + +TerminalKeyEventPhase + Press = 0 + Repeat = 1 + Release = 2 + +TerminalKeyboardReportingMode + Disambiguated = 0 + EventTypes = 1 + AllKeys = 2 + +TerminalKeyModifiers + None = 0 + Shift = 1 + Control = 2 + Alt = 4 + Super = 8 + Hyper = 16 + Meta = 32 + CapsLock = 64 + NumLock = 128 +``` + +The fingerprint also covers the complete `TerminalKey` vocabulary, all pointer/cursor/color/lifecycle/status enums, and every other exported enum. Adding a member in the middle of an implicitly numbered enum, renumbering an existing member, or changing a flags value changes the snapshot and fails the gate. + +## What the baseline does not mean + +Freezing a signature does not imply that every terminal supports the represented protocol operation. + +The 1.x API continues to distinguish: + +- API availability from terminal-side protocol support; +- successful emission from terminal-side application; +- timeout from unsupported behavior; +- terminal-policy reset from exact restoration; +- logical ownership from believed physical state. + +Those semantics are defined by the permanent 1.x contract documents. + +## Compatibility rule + +After stable 1.0, accidental removal, renaming, signature drift, enum renumbering, or TFM-specific public-surface divergence is a release defect. + +Any intentional public-surface change must: + +1. be justified under the compatibility/versioning policy; +2. update the machine fingerprint in review; +3. update this baseline and affected XML/permanent documentation; +4. add migration guidance when source or binary compatibility changes; +5. pass fresh package/downstream validation on all supported TFMs. + +The stable fingerprint is the starting compatibility authority for the 1.x line. diff --git a/docs/Public-API-Baseline-1.0.sha256 b/docs/Public-API-Baseline-1.0.sha256 new file mode 100644 index 000000000..95b12a548 --- /dev/null +++ b/docs/Public-API-Baseline-1.0.sha256 @@ -0,0 +1 @@ +8b213bb287e14729b07f0e640c8c1b1a5aa36b26f867f1e97604fb86fded36e5 diff --git a/docs/releases/1.0.0.md b/docs/releases/1.0.0.md new file mode 100644 index 000000000..66826af18 --- /dev/null +++ b/docs/releases/1.0.0.md @@ -0,0 +1,140 @@ +# Icod.Terminal 1.0.0 + +`1.0.0` is the stable release of the `Icod.Terminal` 1.x contract. It promotes the contract qualified by `1.0.0-rc1` without adding a new terminal-protocol family or changing the frozen public API. + +## Highlights + +- Establishes the stable `Icod.Terminal` 1.x API and behavioral contract across `net8.0`, `net9.0`, and `net10.0`. +- Carries the rc1 machine-frozen public API and public enum numeric layout forward unchanged. +- Makes the permanent architecture, ownership, lifecycle, input/query, presentation/output, security, compatibility, and migration documents the supported 1.x authorities. +- Retains the full semantic terminal surface qualified before stable promotion. +- Uses the optimized validation graph proven after rc1: six OS/architecture runtime jobs plus one portable package candidate and parallel package-contract shards. + +## Breaking change from the final 0.x line + +The one intentional pre-1.0 public API correction is removal of public `TerminalSession.Input`. + +A live `TerminalSession` owns one authoritative input decoder and query router. Exposing the same raw input transport publicly allowed a competing reader to steal bytes from UTF-8 scalars, escape sequences, paste/focus/mouse frames, modern-keyboard frames, or active query responses. + +Migration is straightforward: + +- use `ReadEventAsync(...)` for application input; +- use typed query methods for terminal responses; +- continue using public `ITerminalInput` when injecting a custom transport at session creation. + +`TerminalSession.Output` remains public as an explicitly advanced borrowed output transport outside normal session serialization. + +## Supported targets + +The package targets: + +```text +net8.0 +net9.0 +net10.0 +``` + +The built-in system terminal-control provider supports Windows, Linux, and macOS. Other hosts receive controlled unsupported results from the built-in provider; custom control/input/output implementations remain available through the public injection interfaces. + +## Stable public API baseline + +Stable `1.0.0` adopts the exact public-surface fingerprint qualified by rc1: + +```text +633 lines +77 exported public types +32 public enums / 242 enum values +124 public methods +144 public properties +13 public constructors +SHA-256 8b213bb287e14729b07f0e640c8c1b1a5aa36b26f867f1e97604fb86fded36e5 +``` + +PR and Release validation regenerate the snapshot independently for `net8.0`, `net9.0`, and `net10.0`, require those surfaces to agree, and require the normalized hash to match the stable baseline. + +Compatible additions in a future 1.x minor release require an intentional baseline update. Existing public enum numeric values are part of the compatibility contract. + +## Core contract highlights + +### One authoritative input path + +A live session owns the terminal input conversation. Application input flows through `ReadEventAsync(...)`; response correlation flows through typed query APIs. Competing raw reads are outside the supported live-session model. + +### Bounded query routing + +The query system preserves bounded request/response framing, explicit timeout/cancellation semantics, late-response ownership, ambiguity-aware serialization, and lifecycle query generations. A timeout is not automatically proof that a terminal does not support a feature. + +### Reversible state and lifecycle + +The stable 1.x contract distinguishes: + +1. exact restoration from an observed/captured baseline; +2. terminal-policy reset where exact prior state cannot be observed; +3. nested Icod-owned state with an outer library-owned value; +4. ephemeral metadata with no restoration/replay contract. + +Suspend/resume and disposal are first-class state transitions. Failed rollback/restoration surfaces uncertainty rather than silently pretending the requested state was reached. + +### Semantic terminal surface + +The stable semantic surface includes terminal titles, current-location publication, hyperlinks, clipboard operations, cursor style, synchronized output, progress, pointer shape, semantic prompt metadata, terminal colors, negotiated modern keyboard reporting, bracketed paste, focus, mouse input, safe notifications, and Windows/ConEmu CWD compatibility. + +No generic raw vendor-command API is added for 1.0. + +## Security and privacy + +The library treats application text, terminal responses, and protocol framing as potentially untrusted inputs. Semantic APIs validate and bound payloads before commitment where the protocol permits it. + +The safe OSC 9 subset remains intentionally narrow. Host-affecting vendor commands for blocking UI, GUI macros, process launch, environment disclosure, or emulator mutation remain outside the public semantic API. + +Successful emission of an unacknowledged protocol frame proves only that bytes were written; it does not prove that the terminal recognized or applied the operation. + +## Migration from 0.18.0 + +Most `0.18.0` consumers should require only a package update plus normal regression testing. + +Search specifically for: + +- `TerminalSession.Input` / `session.Input`; +- direct `session.Output` writes that may need explicit caller coordination; +- duplicated terminal-control ownership alongside `Icod.DCurses`; +- lifecycle/disposal paths that acquire new state during teardown. + +Full migration guide: + +https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Migration-to-1.0.md + +## Validation evidence + +The rc1 contract was published and qualified before stable promotion. Publication/CI hardening was then merged to `main` at `dfa149c604aaf860a18923d23999b045ab98532d`, where workflow run `34191123678` passed: + +- Windows x64 runtime validation; +- Windows ARM64 runtime validation; +- Linux x64 runtime validation; +- Linux ARM64 runtime validation; +- macOS x64 runtime validation; +- macOS ARM64 runtime validation; +- frozen public API verification; +- one portable package candidate; +- all historical package contracts through `0.18`; +- the 1.0 release-line package contract; +- current `Icod.DCurses 0.1.0` package-boundary compatibility acceptance. + +The current `Icod.DCurses` release is treated as a real downstream compatibility witness for the integration paths it exercises, not exhaustive proof of every Terminal 1.x feature. Terminal's own API, invariant, unit/hardening, and package gates remain the primary release evidence for the full surface. + +Stable publication still requires the exact `1.0.0` promotion head and the exact resulting `main` commit to pass the configured PR and Release gates before tag `v1.0.0` is authorized. + +## Documentation + +- Architecture: https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Architecture.md +- Session and ownership: https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Terminal-Session-and-Ownership.md +- Lifecycle and restoration: https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Lifecycle-and-Restoration.md +- Input and events: https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Input-and-Events.md +- Queries and responses: https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Queries-and-Responses.md +- Presentation and reversible state: https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Presentation-and-Reversible-State.md +- Semantic output protocols: https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Semantic-Output-Protocols.md +- Security and privacy: https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Security-and-Privacy.md +- Public API baseline: https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Public-API-Baseline-1.0.md +- Compatibility and versioning: https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Compatibility-and-Versioning.md +- Migration to 1.0: https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Migration-to-1.0.md +- Changelog: https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/CHANGELOG.md diff --git a/packaging/README.md b/packaging/README.md index 356e1c66f..4bdbd09c8 100644 --- a/packaging/README.md +++ b/packaging/README.md @@ -61,10 +61,10 @@ These checks run on every OS/architecture claimed by the relevant workflow. | Shard | Contracts | | --- | --- | -| `foundation` | exact package structure/Source Link/XML plus 0.8 synchronized/cursor/progress foundations | +| `foundation` | exact package structure/Source Link/XML plus 0.8–0.10 package foundations | | `presentation` | 0.11 pointer shape, 0.12 semantic prompt, 0.13 colors, 0.14 lifecycle-safe color ownership | | `semantic` | 0.15 semantic metadata, 0.16 safe OSC 9, 0.17 modern keyboard, 0.18 hardening | -| `rc` | fresh 1.0 release-candidate package contract and packaged `Icod.DCurses` compatibility witness | +| `release` | stable 1.0 release-line package contract and packaged `Icod.DCurses` compatibility witness | The shards have no ordering dependency on one another once the package candidate exists, so GitHub Actions executes them in parallel. `VerifyPackageDistribution.ps1` runs the same shards sequentially when a single-process local distribution check is desired. diff --git a/packaging/VerifyDCursesRc1Package.ps1 b/packaging/VerifyDCursesPackage.ps1 similarity index 86% rename from packaging/VerifyDCursesRc1Package.ps1 rename to packaging/VerifyDCursesPackage.ps1 index 0228adfb4..ec7beab33 100644 --- a/packaging/VerifyDCursesRc1Package.ps1 +++ b/packaging/VerifyDCursesPackage.ps1 @@ -46,10 +46,10 @@ $acceptanceRoot = Join-Path ( New-Item -ItemType Directory -Path $acceptanceRoot -Force | Out-Null try { Copy-Item ` - -LiteralPath ( Join-Path $repositoryRoot 'tools/dcurses-rc1-package-acceptance/Icod.Terminal.DCursesRc1PackageAcceptance.csproj' ) ` - -Destination ( Join-Path $acceptanceRoot 'Icod.Terminal.DCursesRc1PackageAcceptance.csproj' ) + -LiteralPath ( Join-Path $repositoryRoot 'tools/dcurses-package-acceptance/Icod.Terminal.DCursesPackageAcceptance.csproj' ) ` + -Destination ( Join-Path $acceptanceRoot 'Icod.Terminal.DCursesPackageAcceptance.csproj' ) Copy-Item ` - -LiteralPath ( Join-Path $repositoryRoot 'tools/dcurses-rc1-package-acceptance/Program.cs' ) ` + -LiteralPath ( Join-Path $repositoryRoot 'tools/dcurses-hardening-soak/Program.cs' ) ` -Destination ( Join-Path $acceptanceRoot 'Program.cs' ) $nugetConfig = Join-Path $acceptanceRoot 'NuGet.Config' @@ -70,7 +70,7 @@ try { [System.Text.UTF8Encoding]::new( $false ) ) - $project = Join-Path $acceptanceRoot 'Icod.Terminal.DCursesRc1PackageAcceptance.csproj' + $project = Join-Path $acceptanceRoot 'Icod.Terminal.DCursesPackageAcceptance.csproj' $oldNuGetPackages = $env:NUGET_PACKAGES $env:NUGET_PACKAGES = Join-Path $acceptanceRoot 'packages' try { @@ -107,4 +107,4 @@ try { } } -Write-Host "Fresh-package Icod.DCurses release-candidate acceptance completed successfully for Icod.Terminal $ExpectedVersion ($Configuration)." +Write-Host "Fresh-package Icod.DCurses release-line acceptance completed successfully for Icod.Terminal $ExpectedVersion ($Configuration)." diff --git a/packaging/VerifyPackageContractShard.ps1 b/packaging/VerifyPackageContractShard.ps1 index 7c7cbff7e..116cdef75 100644 --- a/packaging/VerifyPackageContractShard.ps1 +++ b/packaging/VerifyPackageContractShard.ps1 @@ -3,7 +3,7 @@ param( [string]$ArtifactDirectory, [Parameter(Mandatory = $true)] - [ValidateSet('foundation', 'presentation', 'semantic', 'rc')] + [ValidateSet('foundation', 'presentation', 'semantic', 'release')] [string]$Shard, [ValidateSet('Debug', 'Staging', 'Release')] @@ -57,10 +57,10 @@ $scripts = switch ($Shard) { 'VerifyHardeningPackage.ps1' ) } - 'rc' { + 'release' { @( - 'VerifyRc1Package.ps1', - 'VerifyDCursesRc1Package.ps1' + 'VerifyReleaseLinePackage.ps1', + 'VerifyDCursesPackage.ps1' ) } } diff --git a/packaging/VerifyPackageDistribution.ps1 b/packaging/VerifyPackageDistribution.ps1 index 3dd75641e..cb1142216 100644 --- a/packaging/VerifyPackageDistribution.ps1 +++ b/packaging/VerifyPackageDistribution.ps1 @@ -11,7 +11,7 @@ param( $ErrorActionPreference = 'Stop' Set-StrictMode -Version Latest -foreach ($shard in @('foundation', 'presentation', 'semantic', 'rc')) { +foreach ($shard in @('foundation', 'presentation', 'semantic', 'release')) { $parameters = @{ ArtifactDirectory = $ArtifactDirectory Shard = $shard diff --git a/packaging/VerifyPublicApiBaseline.ps1 b/packaging/VerifyPublicApiBaseline.ps1 index 1c8afb214..d7fa3768a 100644 --- a/packaging/VerifyPublicApiBaseline.ps1 +++ b/packaging/VerifyPublicApiBaseline.ps1 @@ -1,7 +1,7 @@ param( [string]$Configuration = 'Staging', [string]$OutputDirectory = 'artifacts/public-api', - [string]$BaselinePath = 'docs/Public-API-Baseline-1.0-rc1.sha256' + [string]$BaselinePath = 'docs/Public-API-Baseline-1.0.sha256' ) Set-StrictMode -Version Latest @@ -66,9 +66,9 @@ foreach ( $hash in $actualHashes | Select-Object -Skip 1 ) { } if ( $referenceHash -ne $expectedHash.ToLowerInvariant() ) { - $message = "The Icod.Terminal public API does not match the frozen 1.0.0-rc1 baseline. Expected $expectedHash but generated $referenceHash. Inspect artifacts/public-api before changing the baseline intentionally." + $message = "The Icod.Terminal public API does not match the frozen stable 1.0 baseline. Expected $expectedHash but generated $referenceHash. Inspect artifacts/public-api before changing the baseline intentionally." throw $message } -Write-Host 'Verified the frozen Icod.Terminal 1.0.0-rc1 public API baseline.' +Write-Host 'Verified the frozen Icod.Terminal stable 1.0 public API baseline.' Write-Host "SHA256: $referenceHash" diff --git a/packaging/VerifyRc1Package.ps1 b/packaging/VerifyReleaseLinePackage.ps1 similarity index 91% rename from packaging/VerifyRc1Package.ps1 rename to packaging/VerifyReleaseLinePackage.ps1 index 3d7e72fcc..d54766d41 100644 --- a/packaging/VerifyRc1Package.ps1 +++ b/packaging/VerifyReleaseLinePackage.ps1 @@ -60,7 +60,7 @@ foreach ( $requiredText in @( $changelogPath = Join-Path $repositoryRoot 'CHANGELOG.md' if ( -not ( Test-Path -LiteralPath $changelogPath -PathType Leaf ) ) { - throw "The repository does not contain CHANGELOG.md." + throw 'The repository does not contain CHANGELOG.md.' } $changelog = [System.IO.File]::ReadAllText( $changelogPath ) $changelogHeading = "## $ExpectedVersion" @@ -154,7 +154,7 @@ try { [System.StringComparison]::Ordinal ) if ( -not $readmeHasText ) { - throw "The packed README is missing required release-candidate text '$requiredText'." + throw "The packed README is missing required release-line text '$requiredText'." } } @@ -206,10 +206,10 @@ $smokeRoot = Join-Path ( New-Item -ItemType Directory -Path $smokeRoot -Force | Out-Null try { Copy-Item ` - -LiteralPath ( Join-Path $repositoryRoot 'tools/package-rc1-smoke/Icod.Terminal.PackageRc1Smoke.csproj' ) ` - -Destination ( Join-Path $smokeRoot 'Icod.Terminal.PackageRc1Smoke.csproj' ) + -LiteralPath ( Join-Path $repositoryRoot 'tools/package-release-line-smoke/Icod.Terminal.PackageReleaseLineSmoke.csproj' ) ` + -Destination ( Join-Path $smokeRoot 'Icod.Terminal.PackageReleaseLineSmoke.csproj' ) Copy-Item ` - -LiteralPath ( Join-Path $repositoryRoot 'tools/package-rc1-smoke/Program.cs' ) ` + -LiteralPath ( Join-Path $repositoryRoot 'tools/package-release-line-smoke/Program.cs' ) ` -Destination ( Join-Path $smokeRoot 'Program.cs' ) $nugetConfig = Join-Path $smokeRoot 'NuGet.Config' @@ -230,7 +230,7 @@ try { [System.Text.UTF8Encoding]::new( $false ) ) - $project = Join-Path $smokeRoot 'Icod.Terminal.PackageRc1Smoke.csproj' + $project = Join-Path $smokeRoot 'Icod.Terminal.PackageReleaseLineSmoke.csproj' $oldNuGetPackages = $env:NUGET_PACKAGES $env:NUGET_PACKAGES = Join-Path $smokeRoot 'packages' try { @@ -245,7 +245,7 @@ try { foreach ( $framework in @('net8.0', 'net9.0', 'net10.0') ) { Write-Host '' - Write-Host "=== Fresh package 1.0 contract consumer: $framework ===" + Write-Host "=== Fresh package 1.0 release-line consumer: $framework ===" Invoke-DotNet -Arguments @( 'run', '--project', @@ -267,4 +267,4 @@ try { } } -Write-Host "1.0 release-candidate package verification completed successfully for Icod.Terminal $ExpectedVersion ($Configuration)." +Write-Host "1.0 release-line package verification completed successfully for Icod.Terminal $ExpectedVersion ($Configuration)." diff --git a/tools/dcurses-rc1-package-acceptance/Icod.Terminal.DCursesRc1PackageAcceptance.csproj b/tools/dcurses-package-acceptance/Icod.Terminal.DCursesPackageAcceptance.csproj similarity index 100% rename from tools/dcurses-rc1-package-acceptance/Icod.Terminal.DCursesRc1PackageAcceptance.csproj rename to tools/dcurses-package-acceptance/Icod.Terminal.DCursesPackageAcceptance.csproj diff --git a/tools/dcurses-rc1-package-acceptance/Program.cs b/tools/dcurses-rc1-package-acceptance/Program.cs deleted file mode 100644 index 65e53ac65..000000000 --- a/tools/dcurses-rc1-package-acceptance/Program.cs +++ /dev/null @@ -1,437 +0,0 @@ -using System.Text; -using System.Threading.Channels; -using Icod.DCurses; -using Icod.Terminal; -using Icod.TermInfo; - -const int CycleCount = 8; -const string ProbeRequest = "\u001b[?u\u001b[c"; -const string PushAllKeys = "\u001b[>31u"; -const string PopKeyboard = "\u001b[" - ) - .SetString( - StringCapability.ExitAttributeMode, - "" - ) - .SetString( - StringCapability.OriginalColorPair, - "" - ) - .SetString( StringCapability.KeyMouse, "\u001b[<" ) - .SetExtendedString( "BE", EnablePaste ) - .SetExtendedString( "BD", DisablePaste ) - .SetExtendedString( "PS", "\u001b[200~" ) - .SetExtendedString( "PE", "\u001b[201~" ) - .SetExtendedString( "fe", EnableFocus ) - .SetExtendedString( "fd", DisableFocus ) - .SetExtendedString( "kxIN", "\u001b[I" ) - .SetExtendedString( "kxOUT", "\u001b[O" ) - .SetExtendedString( - "XM", - "\u001b[?1006;1000%?%p1%{1}%=%th%el%;" - ) - .SetExtendedString( - "xm", - "\u001b[<%i%p3%d;%p1%d;%p2%d;%?%p4%tM%em%;" - ) - .Build(); - -RecordingTerminalControlProvider provider = new(); - -for ( int cycle = 0; cycle < CycleCount; ++cycle ) { - DuplexTerminalTransport transport = new(); - TerminalSession terminalSession = await TerminalSession.OpenAsync( - provider, - TerminalEndpoint.StandardInput, - TerminalEndpoint.StandardOutput, - transport, - transport, - new TerminalSessionOptions { - TerminalOverride = terminal, - ConfigureOutput = false, - ObserveLifecycleEvents = false - } - ); - - TerminalInputProtocolLease protocols = ( - await terminalSession.AcquireInputProtocolsAsync( - new TerminalInputProtocolOptions { - BracketedPaste = true, - FocusReporting = true, - MouseTrackingMode = TerminalMouseTrackingMode.ButtonEvents, - KeyboardReportingMode = TerminalKeyboardReportingMode.AllKeys - } - ) - ).GetRequiredValue(); - - Require( - transport.ContainsWrite( ProbeRequest ) - && transport.ContainsWrite( PushAllKeys ) - && transport.ContainsWrite( EnablePaste ) - && transport.ContainsWrite( EnableFocus ) - && transport.ContainsWrite( EnableSgrMouse ) - && transport.ContainsWrite( EnableButtonEvents ), - $"Cycle {cycle}: rich-input acquisition did not establish the expected terminal state." - ); - - transport.ClearWrites(); - CursesSession curses = await CursesSession.OpenAsync( - terminalSession, - new CursesSessionOptions { - UseAlternateScreen = true, - EnableKeypad = false, - HideCursor = false - } - ); - - try { - RequireOrdered( - transport, - PopKeyboard, - EnterAlternateScreen, - PushAllKeys, - $"Cycle {cycle}: DCurses full-screen entry violated keyboard handoff ordering." - ); - - int beforeRefresh = transport.WriteCount; - curses.StandardScreen.Write( cycle.ToString( System.Globalization.CultureInfo.InvariantCulture ) ); - await curses.RefreshAsync(); - Require( - beforeRefresh < transport.WriteCount, - $"Cycle {cycle}: DCurses refresh emitted no terminal output." - ); - - transport.QueueInput( - Encoding.UTF8.GetBytes( - "\u001b[97:65:113;6:2;120u" - + "\u001b[I" - + "\u001b[200~ok\u001b[201~" - ) - ); - - TerminalInputEvent key = RequireInput( - await terminalSession.ReadEventAsync() - ); - Require( - TerminalInputEventKind.Key == key.Kind - && TerminalKey.Character == key.Key - && key.Character.HasValue - && 'a' == key.Character.Value.Value - && TerminalKeyEventPhase.Repeat == key.KeyPhase, - $"Cycle {cycle}: negotiated Kitty input did not decode after DCurses entry." - ); - - TerminalInputEvent focus = RequireInput( - await terminalSession.ReadEventAsync() - ); - Require( - TerminalInputEventKind.Focus == focus.Kind - && TerminalFocusState.Focused == focus.Focus?.State, - $"Cycle {cycle}: focus input did not decode during the DCurses cycle." - ); - - TerminalInputEvent pasteBegin = RequireInput( - await terminalSession.ReadEventAsync() - ); - TerminalInputEvent pasteData = RequireInput( - await terminalSession.ReadEventAsync() - ); - TerminalInputEvent pasteEnd = RequireInput( - await terminalSession.ReadEventAsync() - ); - Require( - TerminalPastePhase.Begin == pasteBegin.Paste?.Phase - && TerminalPastePhase.Data == pasteData.Paste?.Phase - && string.Equals( "ok", pasteData.Paste?.Text, StringComparison.Ordinal ) - && TerminalPastePhase.End == pasteEnd.Paste?.Phase, - $"Cycle {cycle}: bracketed-paste input did not survive the DCurses cycle." - ); - - transport.ClearWrites(); - } finally { - await curses.DisposeAsync(); - } - - RequireOrdered( - transport, - PopKeyboard, - ExitAlternateScreen, - PushAllKeys, - $"Cycle {cycle}: DCurses full-screen exit violated keyboard handoff ordering." - ); - Require( - 2 <= transport.CountOf( PopKeyboard ) - && transport.ContainsWrite( DisableButtonEvents ) - && transport.ContainsWrite( DisableSgrMouse ) - && transport.ContainsWrite( DisableFocus ) - && transport.ContainsWrite( DisablePaste ), - $"Cycle {cycle}: terminal-session disposal did not restore the rich-input baseline." - ); - - transport.ClearWrites(); - await protocols.DisposeAsync(); - Require( - 0 == transport.WriteCount, - $"Cycle {cycle}: stale protocol-lease disposal emitted duplicate cleanup." - ); -} - -Require( - 2 * CycleCount == provider.SetModeCount, - "Repeated DCurses cycles did not apply and restore terminal mode exactly once per cycle." -); - -Console.WriteLine( - $"Icod.DCurses hardening soak passed {CycleCount} complete ownership cycles." -); - -static TerminalInputEvent RequireInput( - TerminalEvent terminalEvent -) { - ArgumentNullException.ThrowIfNull( terminalEvent ); - if ( TerminalEventKind.Input != terminalEvent.Kind || terminalEvent.Input is null ) { - throw new InvalidOperationException( - "Expected a terminal input event from the soak transport." - ); - } - return terminalEvent.Input; -} - -static void RequireOrdered( - DuplexTerminalTransport transport, - string first, - string second, - string third, - string message -) { - ArgumentNullException.ThrowIfNull( transport ); - ArgumentNullException.ThrowIfNull( first ); - ArgumentNullException.ThrowIfNull( second ); - ArgumentNullException.ThrowIfNull( third ); - ArgumentNullException.ThrowIfNull( message ); - - int firstIndex = transport.IndexOf( first ); - int secondIndex = transport.IndexOf( second ); - int thirdIndex = transport.IndexOf( third ); - Require( - 0 <= firstIndex && firstIndex < secondIndex && secondIndex < thirdIndex, - message - ); -} - -internal sealed class DuplexTerminalTransport : ITerminalInput, ITerminalOutput { - private const string ProbeRequest = "\u001b[?u\u001b[c"; - private readonly Channel input = Channel.CreateUnbounded(); - private readonly object sync = new(); - private readonly List writes = []; - - internal int WriteCount { - get { - lock ( this.sync ) { - return this.writes.Count; - } - } - } - - internal bool ContainsWrite( - string expected - ) { - ArgumentNullException.ThrowIfNull( expected ); - return 0 <= this.IndexOf( expected ); - } - - internal int CountOf( - string expected - ) { - ArgumentNullException.ThrowIfNull( expected ); - lock ( this.sync ) { - return this.writes.Count( - value => string.Equals( - value, - expected, - StringComparison.Ordinal - ) - ); - } - } - - internal int IndexOf( - string expected - ) { - ArgumentNullException.ThrowIfNull( expected ); - lock ( this.sync ) { - return this.writes.FindIndex( - value => string.Equals( - value, - expected, - StringComparison.Ordinal - ) - ); - } - } - - internal void ClearWrites() { - lock ( this.sync ) { - this.writes.Clear(); - } - } - - internal void QueueInput( - byte[] value - ) { - ArgumentNullException.ThrowIfNull( value ); - if ( !this.input.Writer.TryWrite( value.ToArray() ) ) { - throw new InvalidOperationException( - "The soak input could not be queued." - ); - } - } - - public async ValueTask ReadAsync( - Memory buffer, - CancellationToken cancellationToken = default - ) { - byte[] value = await this.input.Reader.ReadAsync( - cancellationToken - ).ConfigureAwait( false ); - if ( value.Length > buffer.Length ) { - throw new InvalidOperationException( - "The soak input exceeds the terminal read buffer." - ); - } - value.AsSpan().CopyTo( buffer.Span ); - return value.Length; - } - - public ValueTask WriteAsync( - ReadOnlyMemory buffer, - CancellationToken cancellationToken = default - ) { - cancellationToken.ThrowIfCancellationRequested(); - string value = Encoding.Latin1.GetString( buffer.Span ); - lock ( this.sync ) { - this.writes.Add( value ); - } - - if ( string.Equals( ProbeRequest, value, StringComparison.Ordinal ) ) { - this.QueueInput( - Encoding.ASCII.GetBytes( "\u001b[?0u\u001b[?1;2c" ) - ); - } - return ValueTask.CompletedTask; - } - - public ValueTask FlushAsync( - CancellationToken cancellationToken = default - ) { - cancellationToken.ThrowIfCancellationRequested(); - return ValueTask.CompletedTask; - } -} - -internal sealed class RecordingTerminalControlProvider : ITerminalControlProvider { - private readonly TerminalModeSnapshot baseline = TerminalModeSnapshot.CreatePosix( - 0, - 0, - 0, - 0x0002UL, - new byte[ 32 ], - 0, - 32, - 0, - new TerminalSpeed( 13, 9600 ), - new TerminalSpeed( 13, 9600 ) - ); - private int setModeCount; - - internal int SetModeCount { - get { - return Volatile.Read( ref this.setModeCount ); - } - } - - public TerminalControlResult Observe( - TerminalEndpoint endpoint - ) { - ArgumentNullException.ThrowIfNull( endpoint ); - return TerminalControlResult.Available( - new TerminalEndpointObservation( - true, - null, - TerminalPlatformKind.PosixTermios, - TerminalControlCapabilities.Attachment - | TerminalControlCapabilities.LiveSize - | TerminalControlCapabilities.ModeRead - | TerminalControlCapabilities.ModeWrite - ) - ); - } - - public TerminalControlResult GetSize( - TerminalEndpoint endpoint - ) { - ArgumentNullException.ThrowIfNull( endpoint ); - return TerminalControlResult.Available( - new TerminalSize( 80, 24 ) - ); - } - - public TerminalControlResult GetMode( - TerminalEndpoint endpoint - ) { - ArgumentNullException.ThrowIfNull( endpoint ); - return TerminalControlResult.Available( - this.baseline - ); - } - - public TerminalControlMutationResult SetMode( - TerminalEndpoint endpoint, - TerminalModeSnapshot mode, - TerminalModeApplyTiming timing - ) { - ArgumentNullException.ThrowIfNull( endpoint ); - ArgumentNullException.ThrowIfNull( mode ); - if ( !Enum.IsDefined( timing ) ) { - throw new ArgumentOutOfRangeException( nameof( timing ) ); - } - - Interlocked.Increment( ref this.setModeCount ); - return TerminalControlMutationResult.Success(); - } -} diff --git a/tools/package-rc1-smoke/Icod.Terminal.PackageRc1Smoke.csproj b/tools/package-release-line-smoke/Icod.Terminal.PackageReleaseLineSmoke.csproj similarity index 100% rename from tools/package-rc1-smoke/Icod.Terminal.PackageRc1Smoke.csproj rename to tools/package-release-line-smoke/Icod.Terminal.PackageReleaseLineSmoke.csproj diff --git a/tools/package-rc1-smoke/Program.cs b/tools/package-release-line-smoke/Program.cs similarity index 96% rename from tools/package-rc1-smoke/Program.cs rename to tools/package-release-line-smoke/Program.cs index 64107b907..135d32b9e 100644 --- a/tools/package-rc1-smoke/Program.cs +++ b/tools/package-release-line-smoke/Program.cs @@ -105,11 +105,11 @@ Version? assemblyVersion = sessionType.Assembly.GetName().Version; Require( assemblyVersion is not null && 1 == assemblyVersion.Major, - "The release-candidate package must expose a 1.x assembly version." + "The stable 1.x package must expose a 1.x assembly version." ); Console.WriteLine( - "Icod.Terminal 1.0 release-candidate package contract smoke passed." + "Icod.Terminal stable 1.x release-line package contract smoke passed." ); static void Require( From d5ef6b764b08aa40ce1382ff01a467425cb60128 Mon Sep 17 00:00:00 2001 From: Timothy Bruce Date: Tue, 8 Sep 2026 02:15:07 -0400 Subject: [PATCH 02/19] 1.0.0: close stable documentation audit --- README.md | 2 +- docs/releases/1.0.0.md | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 18216ec3a..4e426778f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Icod.Terminal -![Icod TUI Toolchain](https://raw.githubusercontent.com/uniblab/Icod.Terminal/main/icod_tui_toolchain.jpg) +![Icod TUI Toolchain](https://raw.githubusercontent.com/uniblab/Icod.Terminal/v1.0.0/icod_tui_toolchain.jpg) `Icod.Terminal` is the managed, cross-platform live-terminal session layer for the Icod library family. It sits between `Icod.TermInfo` and higher-level consumers such as `Icod.DCurses`, terminal-aware command-line tools, monitors, editors, pagers, and REPLs. diff --git a/docs/releases/1.0.0.md b/docs/releases/1.0.0.md index 66826af18..09b4d3c54 100644 --- a/docs/releases/1.0.0.md +++ b/docs/releases/1.0.0.md @@ -124,6 +124,18 @@ The current `Icod.DCurses` release is treated as a real downstream compatibility Stable publication still requires the exact `1.0.0` promotion head and the exact resulting `main` commit to pass the configured PR and Release gates before tag `v1.0.0` is authorized. +## Scope boundaries + +Stable `1.0.0` deliberately does not broaden the library beyond the contract qualified by rc1: + +- PTY/process hosting and shell/process execution remain outside `Icod.Terminal`; they are not hidden side effects of terminal session or semantic-output APIs; +- the built-in system provider supports Windows, Linux, and macOS; other hosts require custom provider/transport implementations or receive controlled `Unsupported` results; +- successful emission of an unacknowledged terminal protocol proves bytes were written, not that the terminal recognized or applied the operation; +- `Icod.DCurses 0.1.0` is a real downstream compatibility witness for the integration paths it currently exercises, not exhaustive coverage of every `Icod.Terminal` 1.x feature; +- stable 1.0 continues to prefer typed semantic APIs over generic hazardous vendor-command dispatch. + +These are intentional product boundaries, not unfinished stable-release work. + ## Documentation - Architecture: https://github.com/uniblab/Icod.Terminal/blob/v1.0.0/docs/Architecture.md From ad5cd800f1b766cb6266f4e278b10b199d9fff0d Mon Sep 17 00:00:00 2001 From: Timothy Bruce Date: Tue, 8 Sep 2026 02:32:41 -0400 Subject: [PATCH 03/19] 1.0.0: add license header application tool --- packaging/ApplyLicenseHeaders.ps1 | 195 ++++++++++++++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 packaging/ApplyLicenseHeaders.ps1 diff --git a/packaging/ApplyLicenseHeaders.ps1 b/packaging/ApplyLicenseHeaders.ps1 new file mode 100644 index 000000000..dcb033ad2 --- /dev/null +++ b/packaging/ApplyLicenseHeaders.ps1 @@ -0,0 +1,195 @@ +param() + +Set-StrictMode -Version Latest +$ErrorActionPreference = 'Stop' + +$root = (Resolve-Path (Join-Path $PSScriptRoot '..')).Path +$utf8NoBom = [System.Text.UTF8Encoding]::new( $false ) + +function Get-ProjectAssemblyName { + param( [Parameter( Mandatory = $true )][string] $ProjectPath ) + + [xml] $projectXml = Get-Content -LiteralPath $ProjectPath -Raw + $assemblyNameNode = $projectXml.Project.PropertyGroup.AssemblyName | Select-Object -First 1 + if ( $null -ne $assemblyNameNode -and -not [string]::IsNullOrWhiteSpace( [string] $assemblyNameNode ) ) { + return [string] $assemblyNameNode + } + + return [IO.Path]::GetFileNameWithoutExtension( $ProjectPath ) +} + +function Get-ProjectDescription { + param( [Parameter( Mandatory = $true )][string] $AssemblyName ) + + if ( $AssemblyName -eq 'Icod.Terminal' ) { + return 'Managed, cross-platform live-terminal session and terminal-control library for .NET.' + } + if ( $AssemblyName -eq 'Icod.Terminal.Tests' ) { + return 'Automated test suite for the Icod.Terminal library.' + } + if ( $AssemblyName -like '*.Sample' ) { + $topic = $AssemblyName.Replace( 'Icod.Terminal.', '' ).Replace( '.Sample', '' ) + return "Sample application demonstrating Icod.Terminal $topic features." + } + if ( $AssemblyName -like '*.DCurses*Acceptance' -or $AssemblyName -like '*.DCurses*Soak' ) { + return 'Downstream Icod.DCurses acceptance utility for Icod.Terminal integration contracts.' + } + if ( $AssemblyName -like '*.Package*Smoke' ) { + return 'Package smoke-test utility for Icod.Terminal release and compatibility contracts.' + } + if ( $AssemblyName -eq 'Icod.Terminal.PackageVerifier' ) { + return 'Package verification utility for Icod.Terminal release artifacts.' + } + if ( $AssemblyName -eq 'Icod.Terminal.PublicApiSnapshot' ) { + return 'Public API snapshot generator for the Icod.Terminal library.' + } + + return 'Validation utility for Icod.Terminal release and integration contracts.' +} + +function Get-LicenseKind { + param( [Parameter( Mandatory = $true )][string] $ProjectPath ) + + $relative = [IO.Path]::GetRelativePath( $root, $ProjectPath ).Replace( '\\', '/' ) + if ( $relative -eq 'Icod.Terminal.csproj' ) { + return 'LGPL' + } + + return 'GPL' +} + +function Get-CSharpHeader { + param( + [Parameter( Mandatory = $true )][string] $AssemblyName, + [Parameter( Mandatory = $true )][string] $Description, + [Parameter( Mandatory = $true )][ValidateSet( 'LGPL', 'GPL' )][string] $LicenseKind + ) + + $licenseName = if ( $LicenseKind -eq 'LGPL' ) { 'GNU Lesser General Public License' } else { 'GNU General Public License' } + + return @" +/* +`t$AssemblyName +`t$Description +`tCopyright (C) 2026 Timothy J. Bruce +*/ + +/* +`tThis program is free software: you can redistribute it and/or modify +`tit under the terms of the $licenseName as published by +`tthe Free Software Foundation, either version 3 of the License, or +`t(at your option) any later version. + +`tThis program is distributed in the hope that it will be useful, +`tbut WITHOUT ANY WARRANTY; without even the implied warranty of +`tMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +`t$licenseName for more details. + +`tYou should have received a copy of the $licenseName +`talong with this program. If not, see . +*/ + +"@ +} + +function Get-ProjectHeader { + param( + [Parameter( Mandatory = $true )][string] $AssemblyName, + [Parameter( Mandatory = $true )][string] $Description, + [Parameter( Mandatory = $true )][ValidateSet( 'LGPL', 'GPL' )][string] $LicenseKind + ) + + $licenseName = if ( $LicenseKind -eq 'LGPL' ) { 'GNU Lesser General Public License' } else { 'GNU General Public License' } + + return @" + + + + +"@ +} + +function Find-OwningProject { + param( [Parameter( Mandatory = $true )][string] $SourcePath ) + + $directory = Split-Path -Parent $SourcePath + while ( $directory.StartsWith( $root, [StringComparison]::OrdinalIgnoreCase ) ) { + $projects = @( Get-ChildItem -LiteralPath $directory -Filter '*.csproj' -File ) + if ( $projects.Count -eq 1 ) { + return $projects[ 0 ].FullName + } + if ( $projects.Count -gt 1 ) { + throw "Multiple owning projects found for '$SourcePath' in '$directory'." + } + + if ( $directory -eq $root ) { + break + } + $directory = Split-Path -Parent $directory + } + + if ( $SourcePath.StartsWith( (Join-Path $root 'src'), [StringComparison]::OrdinalIgnoreCase ) ) { + return Join-Path $root 'Icod.Terminal.csproj' + } + + throw "No owning project found for '$SourcePath'." +} + +$projects = @( Get-ChildItem -LiteralPath $root -Recurse -Filter '*.csproj' -File | Where-Object { + $_.FullName -notmatch '[\\/](bin|obj)[\\/]' +} ) + +foreach ( $project in $projects ) { + $content = [IO.File]::ReadAllText( $project.FullName ) + $assemblyName = Get-ProjectAssemblyName -ProjectPath $project.FullName + $description = Get-ProjectDescription -AssemblyName $assemblyName + $licenseKind = Get-LicenseKind -ProjectPath $project.FullName + + $content = $content -replace '^\uFEFF', '' + $content = $content -replace '^<\?xml version="1\.0" encoding="utf-8"\?>\r?\n', '' + if ( $content.Contains( 'Copyright (C) 2026 Timothy J. Bruce ' ) ) { + throw "Project '$($project.FullName)' already contains the target copyright header; refusing to duplicate it." + } + + $header = Get-ProjectHeader -AssemblyName $assemblyName -Description $description -LicenseKind $licenseKind + $newContent = "`n$header$content" + [IO.File]::WriteAllText( $project.FullName, $newContent.Replace( "`r`n", "`n" ), $utf8NoBom ) +} + +$sources = @( Get-ChildItem -LiteralPath $root -Recurse -Filter '*.cs' -File | Where-Object { + $_.FullName -notmatch '[\\/](bin|obj)[\\/]' +} ) + +foreach ( $source in $sources ) { + $content = [IO.File]::ReadAllText( $source.FullName ) + if ( $content.Contains( 'Copyright (C) 2026 Timothy J. Bruce ' ) ) { + throw "Source '$($source.FullName)' already contains the target copyright header; refusing to duplicate it." + } + + $projectPath = Find-OwningProject -SourcePath $source.FullName + $assemblyName = Get-ProjectAssemblyName -ProjectPath $projectPath + $description = Get-ProjectDescription -AssemblyName $assemblyName + $licenseKind = Get-LicenseKind -ProjectPath $projectPath + $header = Get-CSharpHeader -AssemblyName $assemblyName -Description $description -LicenseKind $licenseKind + $newContent = $header + $content.TrimStart( [char] 0xFEFF ) + [IO.File]::WriteAllText( $source.FullName, $newContent.Replace( "`r`n", "`n" ), $utf8NoBom ) +} + +Write-Host "Applied license headers to $($sources.Count) C# files and $($projects.Count) project files." From 8d93e2bcdd3dbeb86af7aa4ed016e2907194a625 Mon Sep 17 00:00:00 2001 From: Timothy Bruce Date: Tue, 8 Sep 2026 02:33:18 -0400 Subject: [PATCH 04/19] 1.0.0: stage repository license header closure --- .github/workflows/license-header-closure.yaml | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/license-header-closure.yaml diff --git a/.github/workflows/license-header-closure.yaml b/.github/workflows/license-header-closure.yaml new file mode 100644 index 000000000..1aa3d0063 --- /dev/null +++ b/.github/workflows/license-header-closure.yaml @@ -0,0 +1,39 @@ +name: license-header-closure + +on: + push: + branches: + - 1.0.0-stable-squash + +permissions: + contents: write + +jobs: + apply: + if: ${{ !contains(github.event.head_commit.message, '[license-headers-applied]') }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: actions/setup-dotnet@v4 + with: + dotnet-version: | + 8.0.x + 9.0.x + 10.0.x + - name: Apply project-appropriate license headers + shell: pwsh + run: ./packaging/ApplyLicenseHeaders.ps1 + - name: Commit generated license closure + shell: bash + run: | + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + git add '*.csproj' src tests samples tools + if git diff --cached --quiet; then + echo "No license header changes were required." + exit 0 + fi + git commit -m "1.0.0: apply GPL/LGPL source headers [license-headers-applied]" + git push origin HEAD:1.0.0-stable-squash From 130c30c9d3f2212fa6aba354e08adc0228ff80b9 Mon Sep 17 00:00:00 2001 From: Timothy Bruce Date: Tue, 8 Sep 2026 02:33:56 -0400 Subject: [PATCH 05/19] 1.0.0: add license header verification gate --- packaging/VerifyLicenseHeaders.ps1 | 107 +++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 packaging/VerifyLicenseHeaders.ps1 diff --git a/packaging/VerifyLicenseHeaders.ps1 b/packaging/VerifyLicenseHeaders.ps1 new file mode 100644 index 000000000..79aa0957a --- /dev/null +++ b/packaging/VerifyLicenseHeaders.ps1 @@ -0,0 +1,107 @@ +param() + +Set-StrictMode -Version Latest +$ErrorActionPreference = 'Stop' + +$root = (Resolve-Path (Join-Path $PSScriptRoot '..')).Path + +function Get-ProjectAssemblyName { + param( [Parameter( Mandatory = $true )][string] $ProjectPath ) + + [xml] $projectXml = Get-Content -LiteralPath $ProjectPath -Raw + $assemblyNameNode = $projectXml.Project.PropertyGroup.AssemblyName | Select-Object -First 1 + if ( $null -ne $assemblyNameNode -and -not [string]::IsNullOrWhiteSpace( [string] $assemblyNameNode ) ) { + return [string] $assemblyNameNode + } + + return [IO.Path]::GetFileNameWithoutExtension( $ProjectPath ) +} + +function Get-LicenseKind { + param( [Parameter( Mandatory = $true )][string] $ProjectPath ) + + $relative = [IO.Path]::GetRelativePath( $root, $ProjectPath ).Replace( '\\', '/' ) + if ( $relative -eq 'Icod.Terminal.csproj' ) { + return 'LGPL' + } + + return 'GPL' +} + +function Find-OwningProject { + param( [Parameter( Mandatory = $true )][string] $SourcePath ) + + $directory = Split-Path -Parent $SourcePath + while ( $directory.StartsWith( $root, [StringComparison]::OrdinalIgnoreCase ) ) { + $projects = @( Get-ChildItem -LiteralPath $directory -Filter '*.csproj' -File ) + if ( $projects.Count -eq 1 ) { + return $projects[ 0 ].FullName + } + if ( $projects.Count -gt 1 ) { + throw "Multiple owning projects found for '$SourcePath' in '$directory'." + } + if ( $directory -eq $root ) { + break + } + $directory = Split-Path -Parent $directory + } + + if ( $SourcePath.StartsWith( (Join-Path $root 'src'), [StringComparison]::OrdinalIgnoreCase ) ) { + return Join-Path $root 'Icod.Terminal.csproj' + } + + throw "No owning project found for '$SourcePath'." +} + +$copyright = 'Copyright (C) 2026 Timothy J. Bruce ' +$failures = [Collections.Generic.List[string]]::new() + +$projects = @( Get-ChildItem -LiteralPath $root -Recurse -Filter '*.csproj' -File | Where-Object { + $_.FullName -notmatch '[\\/](bin|obj)[\\/]' +} ) + +foreach ( $project in $projects ) { + $content = [IO.File]::ReadAllText( $project.FullName ).Replace( "`r`n", "`n" ) + $assemblyName = Get-ProjectAssemblyName -ProjectPath $project.FullName + $licenseKind = Get-LicenseKind -ProjectPath $project.FullName + $licenseName = if ( $licenseKind -eq 'LGPL' ) { 'GNU Lesser General Public License' } else { 'GNU General Public License' } + + if ( -not $content.StartsWith( "`n + + Copyright (c) 2026 Timothy J. Bruce diff --git a/samples/Icod.Terminal.Clipboard.Sample/Icod.Terminal.Clipboard.Sample.csproj b/samples/Icod.Terminal.Clipboard.Sample/Icod.Terminal.Clipboard.Sample.csproj index 8895d1faf..7739ba2ee 100644 --- a/samples/Icod.Terminal.Clipboard.Sample/Icod.Terminal.Clipboard.Sample.csproj +++ b/samples/Icod.Terminal.Clipboard.Sample/Icod.Terminal.Clipboard.Sample.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/samples/Icod.Terminal.Clipboard.Sample/Program.cs b/samples/Icod.Terminal.Clipboard.Sample/Program.cs index c45547071..4770b9f47 100644 --- a/samples/Icod.Terminal.Clipboard.Sample/Program.cs +++ b/samples/Icod.Terminal.Clipboard.Sample/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Clipboard.Sample + Sample application demonstrating Icod.Terminal Clipboard features. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Text; using Icod.Terminal; diff --git a/samples/Icod.Terminal.Color.Sample/Icod.Terminal.Color.Sample.csproj b/samples/Icod.Terminal.Color.Sample/Icod.Terminal.Color.Sample.csproj index 1e86c6692..294eb4292 100644 --- a/samples/Icod.Terminal.Color.Sample/Icod.Terminal.Color.Sample.csproj +++ b/samples/Icod.Terminal.Color.Sample/Icod.Terminal.Color.Sample.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/samples/Icod.Terminal.Color.Sample/Program.cs b/samples/Icod.Terminal.Color.Sample/Program.cs index 714935155..1fe2a3ef1 100644 --- a/samples/Icod.Terminal.Color.Sample/Program.cs +++ b/samples/Icod.Terminal.Color.Sample/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Color.Sample + Sample application demonstrating Icod.Terminal Color features. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using Icod.Terminal; bool mutate = args.Any( diff --git a/samples/Icod.Terminal.CursorStyle.Sample/Icod.Terminal.CursorStyle.Sample.csproj b/samples/Icod.Terminal.CursorStyle.Sample/Icod.Terminal.CursorStyle.Sample.csproj index bc4a11ff7..a1a770c18 100644 --- a/samples/Icod.Terminal.CursorStyle.Sample/Icod.Terminal.CursorStyle.Sample.csproj +++ b/samples/Icod.Terminal.CursorStyle.Sample/Icod.Terminal.CursorStyle.Sample.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/samples/Icod.Terminal.CursorStyle.Sample/Program.cs b/samples/Icod.Terminal.CursorStyle.Sample/Program.cs index f51411eb3..e8c22f379 100644 --- a/samples/Icod.Terminal.CursorStyle.Sample/Program.cs +++ b/samples/Icod.Terminal.CursorStyle.Sample/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.CursorStyle.Sample + Sample application demonstrating Icod.Terminal CursorStyle features. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using Icod.Terminal; TerminalCursorStyle requestedStyle = TerminalCursorStyle.SteadyBar; diff --git a/samples/Icod.Terminal.Hyperlink.Sample/Icod.Terminal.Hyperlink.Sample.csproj b/samples/Icod.Terminal.Hyperlink.Sample/Icod.Terminal.Hyperlink.Sample.csproj index d03d10edf..7d66dcd30 100644 --- a/samples/Icod.Terminal.Hyperlink.Sample/Icod.Terminal.Hyperlink.Sample.csproj +++ b/samples/Icod.Terminal.Hyperlink.Sample/Icod.Terminal.Hyperlink.Sample.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/samples/Icod.Terminal.Hyperlink.Sample/Program.cs b/samples/Icod.Terminal.Hyperlink.Sample/Program.cs index c9b9adab5..b2e5300a5 100644 --- a/samples/Icod.Terminal.Hyperlink.Sample/Program.cs +++ b/samples/Icod.Terminal.Hyperlink.Sample/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Hyperlink.Sample + Sample application demonstrating Icod.Terminal Hyperlink features. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using Icod.Terminal; if ( 2 > args.Length ) { diff --git a/samples/Icod.Terminal.Location.Sample/Icod.Terminal.Location.Sample.csproj b/samples/Icod.Terminal.Location.Sample/Icod.Terminal.Location.Sample.csproj index 7e424ca07..684f429ad 100644 --- a/samples/Icod.Terminal.Location.Sample/Icod.Terminal.Location.Sample.csproj +++ b/samples/Icod.Terminal.Location.Sample/Icod.Terminal.Location.Sample.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/samples/Icod.Terminal.Location.Sample/Program.cs b/samples/Icod.Terminal.Location.Sample/Program.cs index 27c083de2..b5c5e88d9 100644 --- a/samples/Icod.Terminal.Location.Sample/Program.cs +++ b/samples/Icod.Terminal.Location.Sample/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Location.Sample + Sample application demonstrating Icod.Terminal Location features. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using Icod.Terminal; if ( 2 > args.Length || 3 < args.Length ) { diff --git a/samples/Icod.Terminal.Notification.Sample/Icod.Terminal.Notification.Sample.csproj b/samples/Icod.Terminal.Notification.Sample/Icod.Terminal.Notification.Sample.csproj index 495c5e2dc..577fa1898 100644 --- a/samples/Icod.Terminal.Notification.Sample/Icod.Terminal.Notification.Sample.csproj +++ b/samples/Icod.Terminal.Notification.Sample/Icod.Terminal.Notification.Sample.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/samples/Icod.Terminal.Notification.Sample/Program.cs b/samples/Icod.Terminal.Notification.Sample/Program.cs index 227f02f0a..1cc3ea98d 100644 --- a/samples/Icod.Terminal.Notification.Sample/Program.cs +++ b/samples/Icod.Terminal.Notification.Sample/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Notification.Sample + Sample application demonstrating Icod.Terminal Notification features. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using Icod.Terminal; if ( 0 == args.Length ) { diff --git a/samples/Icod.Terminal.PointerShape.Sample/Icod.Terminal.PointerShape.Sample.csproj b/samples/Icod.Terminal.PointerShape.Sample/Icod.Terminal.PointerShape.Sample.csproj index 92a76b9b9..e34293ba5 100644 --- a/samples/Icod.Terminal.PointerShape.Sample/Icod.Terminal.PointerShape.Sample.csproj +++ b/samples/Icod.Terminal.PointerShape.Sample/Icod.Terminal.PointerShape.Sample.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/samples/Icod.Terminal.PointerShape.Sample/Program.cs b/samples/Icod.Terminal.PointerShape.Sample/Program.cs index d0588b696..eda249944 100644 --- a/samples/Icod.Terminal.PointerShape.Sample/Program.cs +++ b/samples/Icod.Terminal.PointerShape.Sample/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.PointerShape.Sample + Sample application demonstrating Icod.Terminal PointerShape features. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using Icod.Terminal; await using TerminalSession session = await TerminalSession.OpenAsync( diff --git a/samples/Icod.Terminal.Progress.Sample/Icod.Terminal.Progress.Sample.csproj b/samples/Icod.Terminal.Progress.Sample/Icod.Terminal.Progress.Sample.csproj index 4b84347f5..4d3c02b51 100644 --- a/samples/Icod.Terminal.Progress.Sample/Icod.Terminal.Progress.Sample.csproj +++ b/samples/Icod.Terminal.Progress.Sample/Icod.Terminal.Progress.Sample.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/samples/Icod.Terminal.Progress.Sample/Program.cs b/samples/Icod.Terminal.Progress.Sample/Program.cs index 2c640bb13..0f9447f30 100644 --- a/samples/Icod.Terminal.Progress.Sample/Program.cs +++ b/samples/Icod.Terminal.Progress.Sample/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Progress.Sample + Sample application demonstrating Icod.Terminal Progress features. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using Icod.Terminal; await using TerminalSession session = await TerminalSession.OpenAsync(); diff --git a/samples/Icod.Terminal.Query.Sample/Icod.Terminal.Query.Sample.csproj b/samples/Icod.Terminal.Query.Sample/Icod.Terminal.Query.Sample.csproj index 8db14e722..0e32de30c 100644 --- a/samples/Icod.Terminal.Query.Sample/Icod.Terminal.Query.Sample.csproj +++ b/samples/Icod.Terminal.Query.Sample/Icod.Terminal.Query.Sample.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/samples/Icod.Terminal.Query.Sample/Program.cs b/samples/Icod.Terminal.Query.Sample/Program.cs index f6ff2ae40..9aa77bd8d 100644 --- a/samples/Icod.Terminal.Query.Sample/Program.cs +++ b/samples/Icod.Terminal.Query.Sample/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Query.Sample + Sample application demonstrating Icod.Terminal Query features. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Globalization; using Icod.Terminal; diff --git a/samples/Icod.Terminal.RichInput.Sample/Icod.Terminal.RichInput.Sample.csproj b/samples/Icod.Terminal.RichInput.Sample/Icod.Terminal.RichInput.Sample.csproj index b4245447c..64bb12299 100644 --- a/samples/Icod.Terminal.RichInput.Sample/Icod.Terminal.RichInput.Sample.csproj +++ b/samples/Icod.Terminal.RichInput.Sample/Icod.Terminal.RichInput.Sample.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/samples/Icod.Terminal.RichInput.Sample/Program.cs b/samples/Icod.Terminal.RichInput.Sample/Program.cs index d078ff048..5007a769b 100644 --- a/samples/Icod.Terminal.RichInput.Sample/Program.cs +++ b/samples/Icod.Terminal.RichInput.Sample/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.RichInput.Sample + Sample application demonstrating Icod.Terminal RichInput features. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Globalization; using System.Text; using Icod.Terminal; diff --git a/samples/Icod.Terminal.Sample/Icod.Terminal.Sample.csproj b/samples/Icod.Terminal.Sample/Icod.Terminal.Sample.csproj index 0bfe72f5b..553d1bd6a 100644 --- a/samples/Icod.Terminal.Sample/Icod.Terminal.Sample.csproj +++ b/samples/Icod.Terminal.Sample/Icod.Terminal.Sample.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/samples/Icod.Terminal.Sample/Program.cs b/samples/Icod.Terminal.Sample/Program.cs index 42280651e..051871d6e 100644 --- a/samples/Icod.Terminal.Sample/Program.cs +++ b/samples/Icod.Terminal.Sample/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Sample + Sample application demonstrating Icod.Terminal Sample features. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using Icod.Terminal; using Icod.TermInfo; diff --git a/samples/Icod.Terminal.SemanticPrompt.Sample/Icod.Terminal.SemanticPrompt.Sample.csproj b/samples/Icod.Terminal.SemanticPrompt.Sample/Icod.Terminal.SemanticPrompt.Sample.csproj index 015be4ea3..b62bcfb44 100644 --- a/samples/Icod.Terminal.SemanticPrompt.Sample/Icod.Terminal.SemanticPrompt.Sample.csproj +++ b/samples/Icod.Terminal.SemanticPrompt.Sample/Icod.Terminal.SemanticPrompt.Sample.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/samples/Icod.Terminal.SemanticPrompt.Sample/Program.cs b/samples/Icod.Terminal.SemanticPrompt.Sample/Program.cs index 715d899b8..f0c2d4172 100644 --- a/samples/Icod.Terminal.SemanticPrompt.Sample/Program.cs +++ b/samples/Icod.Terminal.SemanticPrompt.Sample/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.SemanticPrompt.Sample + Sample application demonstrating Icod.Terminal SemanticPrompt features. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using Icod.Terminal; await using TerminalSession session = await TerminalSession.OpenAsync( diff --git a/samples/Icod.Terminal.SynchronizedOutput.Sample/Icod.Terminal.SynchronizedOutput.Sample.csproj b/samples/Icod.Terminal.SynchronizedOutput.Sample/Icod.Terminal.SynchronizedOutput.Sample.csproj index 4a36f1750..7e8509875 100644 --- a/samples/Icod.Terminal.SynchronizedOutput.Sample/Icod.Terminal.SynchronizedOutput.Sample.csproj +++ b/samples/Icod.Terminal.SynchronizedOutput.Sample/Icod.Terminal.SynchronizedOutput.Sample.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/samples/Icod.Terminal.SynchronizedOutput.Sample/Program.cs b/samples/Icod.Terminal.SynchronizedOutput.Sample/Program.cs index 9cfc07544..8bb5d6089 100644 --- a/samples/Icod.Terminal.SynchronizedOutput.Sample/Program.cs +++ b/samples/Icod.Terminal.SynchronizedOutput.Sample/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.SynchronizedOutput.Sample + Sample application demonstrating Icod.Terminal SynchronizedOutput features. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using Icod.Terminal; await using TerminalSession session = await TerminalSession.OpenAsync( diff --git a/samples/Icod.Terminal.Title.Sample/Icod.Terminal.Title.Sample.csproj b/samples/Icod.Terminal.Title.Sample/Icod.Terminal.Title.Sample.csproj index 16e41f1d9..d4eac4f5a 100644 --- a/samples/Icod.Terminal.Title.Sample/Icod.Terminal.Title.Sample.csproj +++ b/samples/Icod.Terminal.Title.Sample/Icod.Terminal.Title.Sample.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/samples/Icod.Terminal.Title.Sample/Program.cs b/samples/Icod.Terminal.Title.Sample/Program.cs index 7786672f3..686b099ec 100644 --- a/samples/Icod.Terminal.Title.Sample/Program.cs +++ b/samples/Icod.Terminal.Title.Sample/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Title.Sample + Sample application demonstrating Icod.Terminal Title features. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using Icod.Terminal; await using TerminalSession session = await TerminalSession.OpenAsync( diff --git a/src/AssemblyMarker.cs b/src/AssemblyMarker.cs index ed3fd6a90..b79b413b8 100644 --- a/src/AssemblyMarker.cs +++ b/src/AssemblyMarker.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo( "Icod.Terminal.Tests" )] diff --git a/src/Clipboard/TerminalClipboardSelection.cs b/src/Clipboard/TerminalClipboardSelection.cs index d0b70210e..b6f810a3a 100644 --- a/src/Clipboard/TerminalClipboardSelection.cs +++ b/src/Clipboard/TerminalClipboardSelection.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/SystemTerminalControlProvider.cs b/src/Control/SystemTerminalControlProvider.cs index b929a933a..d09bb77c8 100644 --- a/src/Control/SystemTerminalControlProvider.cs +++ b/src/Control/SystemTerminalControlProvider.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using Icod.TermInfo; diff --git a/src/Control/TerminalColor.cs b/src/Control/TerminalColor.cs index 96f8e3fda..3f4bf4d74 100644 --- a/src/Control/TerminalColor.cs +++ b/src/Control/TerminalColor.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalControlContracts.cs b/src/Control/TerminalControlContracts.cs index 96c54eb5a..01c149dd8 100644 --- a/src/Control/TerminalControlContracts.cs +++ b/src/Control/TerminalControlContracts.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Collections.ObjectModel; diff --git a/src/Control/TerminalCursorStyle.cs b/src/Control/TerminalCursorStyle.cs index c58a2b5b1..afbc04605 100644 --- a/src/Control/TerminalCursorStyle.cs +++ b/src/Control/TerminalCursorStyle.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalCursorStyleLease.cs b/src/Control/TerminalCursorStyleLease.cs index f509af16e..310f4ee40 100644 --- a/src/Control/TerminalCursorStyleLease.cs +++ b/src/Control/TerminalCursorStyleLease.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalCursorStyleManager.cs b/src/Control/TerminalCursorStyleManager.cs index 99d6be151..3a978c466 100644 --- a/src/Control/TerminalCursorStyleManager.cs +++ b/src/Control/TerminalCursorStyleManager.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalCursorStyleObservation.cs b/src/Control/TerminalCursorStyleObservation.cs index de51d6107..f42df30e9 100644 --- a/src/Control/TerminalCursorStyleObservation.cs +++ b/src/Control/TerminalCursorStyleObservation.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalDynamicColor.cs b/src/Control/TerminalDynamicColor.cs index b8fb71ad8..169c135b4 100644 --- a/src/Control/TerminalDynamicColor.cs +++ b/src/Control/TerminalDynamicColor.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalDynamicColorLease.cs b/src/Control/TerminalDynamicColorLease.cs index 1b542a5ff..1984cef3a 100644 --- a/src/Control/TerminalDynamicColorLease.cs +++ b/src/Control/TerminalDynamicColorLease.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalDynamicColorManager.cs b/src/Control/TerminalDynamicColorManager.cs index 73fca5b08..2cd1aab90 100644 --- a/src/Control/TerminalDynamicColorManager.cs +++ b/src/Control/TerminalDynamicColorManager.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalInputModePolicy.cs b/src/Control/TerminalInputModePolicy.cs index b505aeb51..1cbf7d331 100644 --- a/src/Control/TerminalInputModePolicy.cs +++ b/src/Control/TerminalInputModePolicy.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalModeCodec.cs b/src/Control/TerminalModeCodec.cs index 5ccb9178a..4122b97f7 100644 --- a/src/Control/TerminalModeCodec.cs +++ b/src/Control/TerminalModeCodec.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Globalization; diff --git a/src/Control/TerminalPaletteColor.cs b/src/Control/TerminalPaletteColor.cs index 665490abd..e7c54b101 100644 --- a/src/Control/TerminalPaletteColor.cs +++ b/src/Control/TerminalPaletteColor.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalPaletteColorLease.cs b/src/Control/TerminalPaletteColorLease.cs index 2b5c0a684..9f86bd1c4 100644 --- a/src/Control/TerminalPaletteColorLease.cs +++ b/src/Control/TerminalPaletteColorLease.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalPaletteColorManager.cs b/src/Control/TerminalPaletteColorManager.cs index 0780ec651..9a94ada6b 100644 --- a/src/Control/TerminalPaletteColorManager.cs +++ b/src/Control/TerminalPaletteColorManager.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalPointerShape.cs b/src/Control/TerminalPointerShape.cs index 648177bcb..4a70ef5ae 100644 --- a/src/Control/TerminalPointerShape.cs +++ b/src/Control/TerminalPointerShape.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalPointerShapeLease.cs b/src/Control/TerminalPointerShapeLease.cs index 46dd56db5..fa7989c16 100644 --- a/src/Control/TerminalPointerShapeLease.cs +++ b/src/Control/TerminalPointerShapeLease.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalPointerShapeManager.cs b/src/Control/TerminalPointerShapeManager.cs index 3f6f00d8b..da8448260 100644 --- a/src/Control/TerminalPointerShapeManager.cs +++ b/src/Control/TerminalPointerShapeManager.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalPointerShapeObservation.cs b/src/Control/TerminalPointerShapeObservation.cs index 235601ecc..a58da43c4 100644 --- a/src/Control/TerminalPointerShapeObservation.cs +++ b/src/Control/TerminalPointerShapeObservation.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalProgressLease.cs b/src/Control/TerminalProgressLease.cs index 303dad98d..c48bf6991 100644 --- a/src/Control/TerminalProgressLease.cs +++ b/src/Control/TerminalProgressLease.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalProgressManager.cs b/src/Control/TerminalProgressManager.cs index 1142450d8..8e45a4caf 100644 --- a/src/Control/TerminalProgressManager.cs +++ b/src/Control/TerminalProgressManager.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalProgressState.cs b/src/Control/TerminalProgressState.cs index 5d16024db..9ec6e5bf7 100644 --- a/src/Control/TerminalProgressState.cs +++ b/src/Control/TerminalProgressState.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalProgressValue.cs b/src/Control/TerminalProgressValue.cs index b3b9b579d..4aab16d25 100644 --- a/src/Control/TerminalProgressValue.cs +++ b/src/Control/TerminalProgressValue.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalSemanticCommandOutputOptions.cs b/src/Control/TerminalSemanticCommandOutputOptions.cs index 055353f9c..07410b21d 100644 --- a/src/Control/TerminalSemanticCommandOutputOptions.cs +++ b/src/Control/TerminalSemanticCommandOutputOptions.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalSemanticPromptMarker.cs b/src/Control/TerminalSemanticPromptMarker.cs index 34a033690..6098c52a3 100644 --- a/src/Control/TerminalSemanticPromptMarker.cs +++ b/src/Control/TerminalSemanticPromptMarker.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalSemanticPromptOptions.cs b/src/Control/TerminalSemanticPromptOptions.cs index a2011df8a..d0b7a4710 100644 --- a/src/Control/TerminalSemanticPromptOptions.cs +++ b/src/Control/TerminalSemanticPromptOptions.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalSynchronizedOutputLease.cs b/src/Control/TerminalSynchronizedOutputLease.cs index 686176c8c..5cbf53a9c 100644 --- a/src/Control/TerminalSynchronizedOutputLease.cs +++ b/src/Control/TerminalSynchronizedOutputLease.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Control/TerminalSynchronizedOutputManager.cs b/src/Control/TerminalSynchronizedOutputManager.cs index e18678a0b..0dd4d656b 100644 --- a/src/Control/TerminalSynchronizedOutputManager.cs +++ b/src/Control/TerminalSynchronizedOutputManager.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Hyperlink/TerminalHyperlinkContracts.cs b/src/Hyperlink/TerminalHyperlinkContracts.cs index 3e2bf3072..30c4f8510 100644 --- a/src/Hyperlink/TerminalHyperlinkContracts.cs +++ b/src/Hyperlink/TerminalHyperlinkContracts.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Hyperlink/TerminalHyperlinkManager.cs b/src/Hyperlink/TerminalHyperlinkManager.cs index d27309bc4..57027bc6a 100644 --- a/src/Hyperlink/TerminalHyperlinkManager.cs +++ b/src/Hyperlink/TerminalHyperlinkManager.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Runtime.ExceptionServices; diff --git a/src/Input/TerminalEvent.cs b/src/Input/TerminalEvent.cs index 6177c8bdb..e85be94a4 100644 --- a/src/Input/TerminalEvent.cs +++ b/src/Input/TerminalEvent.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Input/TerminalInputCoordinator.cs b/src/Input/TerminalInputCoordinator.cs index fd9a0a7cf..f30a9b0ee 100644 --- a/src/Input/TerminalInputCoordinator.cs +++ b/src/Input/TerminalInputCoordinator.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Threading.Channels; diff --git a/src/Input/TerminalInputDecodeResult.cs b/src/Input/TerminalInputDecodeResult.cs index 1a14dc13b..a3511b75d 100644 --- a/src/Input/TerminalInputDecodeResult.cs +++ b/src/Input/TerminalInputDecodeResult.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Input/TerminalInputDecoder.KittyProbe.cs b/src/Input/TerminalInputDecoder.KittyProbe.cs index 6b2358da1..cf1ab52a6 100644 --- a/src/Input/TerminalInputDecoder.KittyProbe.cs +++ b/src/Input/TerminalInputDecoder.KittyProbe.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Globalization; diff --git a/src/Input/TerminalInputDecoder.ModernKeyboard.cs b/src/Input/TerminalInputDecoder.ModernKeyboard.cs index 12d79adb3..613722a69 100644 --- a/src/Input/TerminalInputDecoder.ModernKeyboard.cs +++ b/src/Input/TerminalInputDecoder.ModernKeyboard.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Globalization; diff --git a/src/Input/TerminalInputDecoder.Mouse.cs b/src/Input/TerminalInputDecoder.Mouse.cs index adaa95d5e..b68717fea 100644 --- a/src/Input/TerminalInputDecoder.Mouse.cs +++ b/src/Input/TerminalInputDecoder.Mouse.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using Icod.TermInfo; diff --git a/src/Input/TerminalInputDecoder.Responses.cs b/src/Input/TerminalInputDecoder.Responses.cs index 28ef7fee2..7265a1f68 100644 --- a/src/Input/TerminalInputDecoder.Responses.cs +++ b/src/Input/TerminalInputDecoder.Responses.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Input/TerminalInputDecoder.TraditionalKeys.cs b/src/Input/TerminalInputDecoder.TraditionalKeys.cs index edfe028f2..736a5d9e8 100644 --- a/src/Input/TerminalInputDecoder.TraditionalKeys.cs +++ b/src/Input/TerminalInputDecoder.TraditionalKeys.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using Icod.TermInfo; diff --git a/src/Input/TerminalInputDecoder.cs b/src/Input/TerminalInputDecoder.cs index 0df28695c..1e903e14d 100644 --- a/src/Input/TerminalInputDecoder.cs +++ b/src/Input/TerminalInputDecoder.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Buffers; diff --git a/src/Input/TerminalInputDecoderOptions.cs b/src/Input/TerminalInputDecoderOptions.cs index b14b3a5d6..d0f52a7c1 100644 --- a/src/Input/TerminalInputDecoderOptions.cs +++ b/src/Input/TerminalInputDecoderOptions.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Input/TerminalInputEvent.cs b/src/Input/TerminalInputEvent.cs index 6811c3814..8f3d42dbe 100644 --- a/src/Input/TerminalInputEvent.cs +++ b/src/Input/TerminalInputEvent.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Text; diff --git a/src/Input/TerminalInputProtocolContracts.cs b/src/Input/TerminalInputProtocolContracts.cs index 3706f2a59..6b919798f 100644 --- a/src/Input/TerminalInputProtocolContracts.cs +++ b/src/Input/TerminalInputProtocolContracts.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Input/TerminalInputProtocolManager.cs b/src/Input/TerminalInputProtocolManager.cs index 1371befc3..1aac7e9ad 100644 --- a/src/Input/TerminalInputProtocolManager.cs +++ b/src/Input/TerminalInputProtocolManager.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using Icod.TermInfo; diff --git a/src/Input/TerminalIoContracts.cs b/src/Input/TerminalIoContracts.cs index 1ac440299..3f00ef888 100644 --- a/src/Input/TerminalIoContracts.cs +++ b/src/Input/TerminalIoContracts.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Input/TerminalKeyboardReportingMode.cs b/src/Input/TerminalKeyboardReportingMode.cs index b1ca0cdd0..bea6249ca 100644 --- a/src/Input/TerminalKeyboardReportingMode.cs +++ b/src/Input/TerminalKeyboardReportingMode.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Input/TerminalResponseFramer.cs b/src/Input/TerminalResponseFramer.cs index a1b4945cb..8668efd8a 100644 --- a/src/Input/TerminalResponseFramer.cs +++ b/src/Input/TerminalResponseFramer.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Input/TerminalResponseRouting.cs b/src/Input/TerminalResponseRouting.cs index 79e122304..135fd3631 100644 --- a/src/Input/TerminalResponseRouting.cs +++ b/src/Input/TerminalResponseRouting.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Input/TerminalRichInputContracts.cs b/src/Input/TerminalRichInputContracts.cs index 8c8502669..dfa028bc3 100644 --- a/src/Input/TerminalRichInputContracts.cs +++ b/src/Input/TerminalRichInputContracts.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Lifecycle/SystemTerminalLifecycleSource.cs b/src/Lifecycle/SystemTerminalLifecycleSource.cs index df098fc82..608062f5c 100644 --- a/src/Lifecycle/SystemTerminalLifecycleSource.cs +++ b/src/Lifecycle/SystemTerminalLifecycleSource.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Runtime.InteropServices; diff --git a/src/Lifecycle/TerminalLifecycleContracts.cs b/src/Lifecycle/TerminalLifecycleContracts.cs index 07068a756..dbbcc60d2 100644 --- a/src/Lifecycle/TerminalLifecycleContracts.cs +++ b/src/Lifecycle/TerminalLifecycleContracts.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using Icod.TermInfo; diff --git a/src/Output/CsiWriter.cs b/src/Output/CsiWriter.cs index 9179e8bb4..22da0796d 100644 --- a/src/Output/CsiWriter.cs +++ b/src/Output/CsiWriter.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Output/OscWriter.Osc133.cs b/src/Output/OscWriter.Osc133.cs index cbb78782b..b46f05179 100644 --- a/src/Output/OscWriter.Osc133.cs +++ b/src/Output/OscWriter.Osc133.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; internal static partial class OscWriter { diff --git a/src/Output/OscWriter.Osc22.cs b/src/Output/OscWriter.Osc22.cs index bbb26f50a..67fa7985a 100644 --- a/src/Output/OscWriter.Osc22.cs +++ b/src/Output/OscWriter.Osc22.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ using System.Text; namespace Icod.Terminal; diff --git a/src/Output/OscWriter.Osc52.cs b/src/Output/OscWriter.Osc52.cs index 673051b52..1b75c00b3 100644 --- a/src/Output/OscWriter.Osc52.cs +++ b/src/Output/OscWriter.Osc52.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Text; diff --git a/src/Output/OscWriter.Osc9.cs b/src/Output/OscWriter.Osc9.cs index b68d9e6c1..0a6e0909e 100644 --- a/src/Output/OscWriter.Osc9.cs +++ b/src/Output/OscWriter.Osc9.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Output/OscWriter.Osc9SafeText.cs b/src/Output/OscWriter.Osc9SafeText.cs index d05f48585..7a2c5a1f6 100644 --- a/src/Output/OscWriter.Osc9SafeText.cs +++ b/src/Output/OscWriter.Osc9SafeText.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; internal static partial class OscWriter { diff --git a/src/Output/OscWriter.cs b/src/Output/OscWriter.cs index b803309ca..758fc36a7 100644 --- a/src/Output/OscWriter.cs +++ b/src/Output/OscWriter.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Text; diff --git a/src/Output/TerminalColorCodec.cs b/src/Output/TerminalColorCodec.cs index 7bdec37ca..a2b6981d1 100644 --- a/src/Output/TerminalColorCodec.cs +++ b/src/Output/TerminalColorCodec.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Text; diff --git a/src/Output/TerminalHyperlinkEncoder.cs b/src/Output/TerminalHyperlinkEncoder.cs index 8fc0b4494..b4ed4a1cd 100644 --- a/src/Output/TerminalHyperlinkEncoder.cs +++ b/src/Output/TerminalHyperlinkEncoder.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Globalization; diff --git a/src/Output/TerminalLocationUriEncoder.cs b/src/Output/TerminalLocationUriEncoder.cs index 8e46b0b87..d9978a322 100644 --- a/src/Output/TerminalLocationUriEncoder.cs +++ b/src/Output/TerminalLocationUriEncoder.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Globalization; diff --git a/src/Output/TerminalOsc104Protocol.cs b/src/Output/TerminalOsc104Protocol.cs index 1ce8fc126..47a9e993a 100644 --- a/src/Output/TerminalOsc104Protocol.cs +++ b/src/Output/TerminalOsc104Protocol.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Globalization; diff --git a/src/Output/TerminalOsc133ExtendedMetadataEncoder.cs b/src/Output/TerminalOsc133ExtendedMetadataEncoder.cs index f7656c96d..119fa188c 100644 --- a/src/Output/TerminalOsc133ExtendedMetadataEncoder.cs +++ b/src/Output/TerminalOsc133ExtendedMetadataEncoder.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Text; diff --git a/src/Output/TerminalOsc52PayloadCodec.cs b/src/Output/TerminalOsc52PayloadCodec.cs index 8ad948912..95d02a4e4 100644 --- a/src/Output/TerminalOsc52PayloadCodec.cs +++ b/src/Output/TerminalOsc52PayloadCodec.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Output/TerminalOsc9SafeTextEncoder.cs b/src/Output/TerminalOsc9SafeTextEncoder.cs index 8364d7d9f..7568d130b 100644 --- a/src/Output/TerminalOsc9SafeTextEncoder.cs +++ b/src/Output/TerminalOsc9SafeTextEncoder.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Text; diff --git a/src/Output/TerminalOutputStream.cs b/src/Output/TerminalOutputStream.cs index 194dce816..ecfc71aae 100644 --- a/src/Output/TerminalOutputStream.cs +++ b/src/Output/TerminalOutputStream.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Platform/PosixTerminalControlProvider.cs b/src/Platform/PosixTerminalControlProvider.cs index 95a3517e1..10431705b 100644 --- a/src/Platform/PosixTerminalControlProvider.cs +++ b/src/Platform/PosixTerminalControlProvider.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.ComponentModel; diff --git a/src/Platform/PosixTerminalInputModeEditor.cs b/src/Platform/PosixTerminalInputModeEditor.cs index bc0f915c3..82cb6329f 100644 --- a/src/Platform/PosixTerminalInputModeEditor.cs +++ b/src/Platform/PosixTerminalInputModeEditor.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Platform/SystemTerminalOutputSetup.cs b/src/Platform/SystemTerminalOutputSetup.cs index 62060b28e..fef472bb7 100644 --- a/src/Platform/SystemTerminalOutputSetup.cs +++ b/src/Platform/SystemTerminalOutputSetup.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using Icod.TermInfo; diff --git a/src/Platform/WindowsTerminalControlProvider.cs b/src/Platform/WindowsTerminalControlProvider.cs index ef0495c7d..0a7acc41d 100644 --- a/src/Platform/WindowsTerminalControlProvider.cs +++ b/src/Platform/WindowsTerminalControlProvider.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.ComponentModel; diff --git a/src/Platform/WindowsTerminalInputModeEditor.cs b/src/Platform/WindowsTerminalInputModeEditor.cs index abcf914bb..bc6bec74d 100644 --- a/src/Platform/WindowsTerminalInputModeEditor.cs +++ b/src/Platform/WindowsTerminalInputModeEditor.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Presentation/TerminalPresentationContracts.cs b/src/Presentation/TerminalPresentationContracts.cs index f22be5707..c820cf0dc 100644 --- a/src/Presentation/TerminalPresentationContracts.cs +++ b/src/Presentation/TerminalPresentationContracts.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Presentation/TerminalPresentationManager.cs b/src/Presentation/TerminalPresentationManager.cs index b0c3acaf7..6d062a27c 100644 --- a/src/Presentation/TerminalPresentationManager.cs +++ b/src/Presentation/TerminalPresentationManager.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using Icod.TermInfo; diff --git a/src/Query/TerminalCsiQueryContracts.cs b/src/Query/TerminalCsiQueryContracts.cs index 43fad7708..932590f67 100644 --- a/src/Query/TerminalCsiQueryContracts.cs +++ b/src/Query/TerminalCsiQueryContracts.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Collections.ObjectModel; diff --git a/src/Query/TerminalCsiQueryProtocol.cs b/src/Query/TerminalCsiQueryProtocol.cs index 52d5856a3..dbe66ae57 100644 --- a/src/Query/TerminalCsiQueryProtocol.cs +++ b/src/Query/TerminalCsiQueryProtocol.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Query/TerminalDecrqssContracts.cs b/src/Query/TerminalDecrqssContracts.cs index 34494e5af..6a9ba6e06 100644 --- a/src/Query/TerminalDecrqssContracts.cs +++ b/src/Query/TerminalDecrqssContracts.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Query/TerminalDecrqssProtocol.cs b/src/Query/TerminalDecrqssProtocol.cs index 93cfabd46..975f18d0f 100644 --- a/src/Query/TerminalDecrqssProtocol.cs +++ b/src/Query/TerminalDecrqssProtocol.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Text; diff --git a/src/Query/TerminalDynamicColorProtocol.cs b/src/Query/TerminalDynamicColorProtocol.cs index 0f95a40b4..f89cecff2 100644 --- a/src/Query/TerminalDynamicColorProtocol.cs +++ b/src/Query/TerminalDynamicColorProtocol.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Globalization; diff --git a/src/Query/TerminalOsc22Protocol.cs b/src/Query/TerminalOsc22Protocol.cs index d85a96bed..6a3384e08 100644 --- a/src/Query/TerminalOsc22Protocol.cs +++ b/src/Query/TerminalOsc22Protocol.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ using System.Text; namespace Icod.Terminal; diff --git a/src/Query/TerminalOsc4Protocol.cs b/src/Query/TerminalOsc4Protocol.cs index 6d429de1a..0c0da9197 100644 --- a/src/Query/TerminalOsc4Protocol.cs +++ b/src/Query/TerminalOsc4Protocol.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Globalization; diff --git a/src/Query/TerminalOsc52Protocol.cs b/src/Query/TerminalOsc52Protocol.cs index 467dc58f8..499da96bd 100644 --- a/src/Query/TerminalOsc52Protocol.cs +++ b/src/Query/TerminalOsc52Protocol.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Query/TerminalXtGetTcapContracts.cs b/src/Query/TerminalXtGetTcapContracts.cs index bcf3a13d3..3eeeeb6ba 100644 --- a/src/Query/TerminalXtGetTcapContracts.cs +++ b/src/Query/TerminalXtGetTcapContracts.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Collections.ObjectModel; diff --git a/src/Query/TerminalXtGetTcapProtocol.cs b/src/Query/TerminalXtGetTcapProtocol.cs index cc061df5e..d952546c1 100644 --- a/src/Query/TerminalXtGetTcapProtocol.cs +++ b/src/Query/TerminalXtGetTcapProtocol.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalIdentity.cs b/src/Session/TerminalIdentity.cs index f4456d3bd..6107ab117 100644 --- a/src/Session/TerminalIdentity.cs +++ b/src/Session/TerminalIdentity.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using Icod.TermInfo; diff --git a/src/Session/TerminalLocationPathStyle.cs b/src/Session/TerminalLocationPathStyle.cs index 016c81b9a..35c34a883 100644 --- a/src/Session/TerminalLocationPathStyle.cs +++ b/src/Session/TerminalLocationPathStyle.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalQueryTransactionManager.cs b/src/Session/TerminalQueryTransactionManager.cs index 9ace70bdb..d48f59611 100644 --- a/src/Session/TerminalQueryTransactionManager.cs +++ b/src/Session/TerminalQueryTransactionManager.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using Icod.Timing; diff --git a/src/Session/TerminalSession.ApplicationText.cs b/src/Session/TerminalSession.ApplicationText.cs index 3de2b758f..ee1a880b3 100644 --- a/src/Session/TerminalSession.ApplicationText.cs +++ b/src/Session/TerminalSession.ApplicationText.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.Clipboard.cs b/src/Session/TerminalSession.Clipboard.cs index f69c40c08..b59810fde 100644 --- a/src/Session/TerminalSession.Clipboard.cs +++ b/src/Session/TerminalSession.Clipboard.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Text; diff --git a/src/Session/TerminalSession.ClipboardQueries.cs b/src/Session/TerminalSession.ClipboardQueries.cs index c141b26a7..15305c560 100644 --- a/src/Session/TerminalSession.ClipboardQueries.cs +++ b/src/Session/TerminalSession.ClipboardQueries.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.ControlOutput.cs b/src/Session/TerminalSession.ControlOutput.cs index 1ed4a25d5..fe3268076 100644 --- a/src/Session/TerminalSession.ControlOutput.cs +++ b/src/Session/TerminalSession.ControlOutput.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Text; diff --git a/src/Session/TerminalSession.CsiQueries.cs b/src/Session/TerminalSession.CsiQueries.cs index c93b13719..92e98b28d 100644 --- a/src/Session/TerminalSession.CsiQueries.cs +++ b/src/Session/TerminalSession.CsiQueries.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.CursorStyle.cs b/src/Session/TerminalSession.CursorStyle.cs index cff62e88e..1b17c3315 100644 --- a/src/Session/TerminalSession.CursorStyle.cs +++ b/src/Session/TerminalSession.CursorStyle.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.Decrqss.cs b/src/Session/TerminalSession.Decrqss.cs index 58722a95e..af3750d6e 100644 --- a/src/Session/TerminalSession.Decrqss.cs +++ b/src/Session/TerminalSession.Decrqss.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.DynamicColor.cs b/src/Session/TerminalSession.DynamicColor.cs index 4a31fe26d..e664aaa4f 100644 --- a/src/Session/TerminalSession.DynamicColor.cs +++ b/src/Session/TerminalSession.DynamicColor.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.Hyperlink.cs b/src/Session/TerminalSession.Hyperlink.cs index b661a7490..67d26c2cb 100644 --- a/src/Session/TerminalSession.Hyperlink.cs +++ b/src/Session/TerminalSession.Hyperlink.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.Input.cs b/src/Session/TerminalSession.Input.cs index 15c3c8fd3..c4bc901db 100644 --- a/src/Session/TerminalSession.Input.cs +++ b/src/Session/TerminalSession.Input.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using Icod.Timing; diff --git a/src/Session/TerminalSession.InputCoordinator.cs b/src/Session/TerminalSession.InputCoordinator.cs index 5e0c82688..fb398baa7 100644 --- a/src/Session/TerminalSession.InputCoordinator.cs +++ b/src/Session/TerminalSession.InputCoordinator.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.InputProtocols.cs b/src/Session/TerminalSession.InputProtocols.cs index 2a21d8d4a..212208187 100644 --- a/src/Session/TerminalSession.InputProtocols.cs +++ b/src/Session/TerminalSession.InputProtocols.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.KittyKeyboard.cs b/src/Session/TerminalSession.KittyKeyboard.cs index 0b75caa6d..0091eff64 100644 --- a/src/Session/TerminalSession.KittyKeyboard.cs +++ b/src/Session/TerminalSession.KittyKeyboard.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.Lifecycle.cs b/src/Session/TerminalSession.Lifecycle.cs index c504c2171..63ce564aa 100644 --- a/src/Session/TerminalSession.Lifecycle.cs +++ b/src/Session/TerminalSession.Lifecycle.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Threading.Channels; diff --git a/src/Session/TerminalSession.LifecycleParticipants.cs b/src/Session/TerminalSession.LifecycleParticipants.cs index 6d56ef16d..2d8b7d631 100644 --- a/src/Session/TerminalSession.LifecycleParticipants.cs +++ b/src/Session/TerminalSession.LifecycleParticipants.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.Location.cs b/src/Session/TerminalSession.Location.cs index 311628ce5..a61d04e7f 100644 --- a/src/Session/TerminalSession.Location.cs +++ b/src/Session/TerminalSession.Location.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.Notifications.cs b/src/Session/TerminalSession.Notifications.cs index 274d32f69..a80683484 100644 --- a/src/Session/TerminalSession.Notifications.cs +++ b/src/Session/TerminalSession.Notifications.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.Palette.cs b/src/Session/TerminalSession.Palette.cs index 7e3ae9409..dfe4fc399 100644 --- a/src/Session/TerminalSession.Palette.cs +++ b/src/Session/TerminalSession.Palette.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.PointerShape.cs b/src/Session/TerminalSession.PointerShape.cs index c2596c195..121481031 100644 --- a/src/Session/TerminalSession.PointerShape.cs +++ b/src/Session/TerminalSession.PointerShape.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.Presentation.cs b/src/Session/TerminalSession.Presentation.cs index 050e39404..0dfbcd07b 100644 --- a/src/Session/TerminalSession.Presentation.cs +++ b/src/Session/TerminalSession.Presentation.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.Progress.cs b/src/Session/TerminalSession.Progress.cs index 0c4bada7c..3bcc490ef 100644 --- a/src/Session/TerminalSession.Progress.cs +++ b/src/Session/TerminalSession.Progress.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.Queries.cs b/src/Session/TerminalSession.Queries.cs index c56f66f65..208dec234 100644 --- a/src/Session/TerminalSession.Queries.cs +++ b/src/Session/TerminalSession.Queries.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.SemanticPrompt.cs b/src/Session/TerminalSession.SemanticPrompt.cs index 3d482c459..257077595 100644 --- a/src/Session/TerminalSession.SemanticPrompt.cs +++ b/src/Session/TerminalSession.SemanticPrompt.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.StateComposition.cs b/src/Session/TerminalSession.StateComposition.cs index 73b3202d2..202f0bbdd 100644 --- a/src/Session/TerminalSession.StateComposition.cs +++ b/src/Session/TerminalSession.StateComposition.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Runtime.CompilerServices; diff --git a/src/Session/TerminalSession.SynchronizedOutput.cs b/src/Session/TerminalSession.SynchronizedOutput.cs index 1f638196b..b928832b0 100644 --- a/src/Session/TerminalSession.SynchronizedOutput.cs +++ b/src/Session/TerminalSession.SynchronizedOutput.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.Title.cs b/src/Session/TerminalSession.Title.cs index 5148ae0c4..3985786d2 100644 --- a/src/Session/TerminalSession.Title.cs +++ b/src/Session/TerminalSession.Title.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.WindowsCurrentDirectoryCompatibility.cs b/src/Session/TerminalSession.WindowsCurrentDirectoryCompatibility.cs index 681503c62..afa48b17b 100644 --- a/src/Session/TerminalSession.WindowsCurrentDirectoryCompatibility.cs +++ b/src/Session/TerminalSession.WindowsCurrentDirectoryCompatibility.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; /// diff --git a/src/Session/TerminalSession.XtGetTcap.cs b/src/Session/TerminalSession.XtGetTcap.cs index de5760c9b..857794914 100644 --- a/src/Session/TerminalSession.XtGetTcap.cs +++ b/src/Session/TerminalSession.XtGetTcap.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using Icod.TermInfo; diff --git a/src/Session/TerminalSession.cs b/src/Session/TerminalSession.cs index 8d90a49b5..b088bf529 100644 --- a/src/Session/TerminalSession.cs +++ b/src/Session/TerminalSession.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Runtime.ExceptionServices; diff --git a/src/Session/TerminalSessionOptions.cs b/src/Session/TerminalSessionOptions.cs index 4599ceaa1..b21e75e90 100644 --- a/src/Session/TerminalSessionOptions.cs +++ b/src/Session/TerminalSessionOptions.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal + Managed, cross-platform live-terminal session and terminal-control library for .NET. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal; using System.Text; diff --git a/tests/Icod.Terminal.Tests/Icod.Terminal.Tests.csproj b/tests/Icod.Terminal.Tests/Icod.Terminal.Tests.csproj index 66821fc13..5ff284fd9 100644 --- a/tests/Icod.Terminal.Tests/Icod.Terminal.Tests.csproj +++ b/tests/Icod.Terminal.Tests/Icod.Terminal.Tests.csproj @@ -1,3 +1,24 @@ + + + + net8.0;net9.0;net10.0 diff --git a/tests/Icod.Terminal.Tests/src/AssemblySmokeTests.cs b/tests/Icod.Terminal.Tests/src/AssemblySmokeTests.cs index 440fdb3f9..dfbfc20e2 100644 --- a/tests/Icod.Terminal.Tests/src/AssemblySmokeTests.cs +++ b/tests/Icod.Terminal.Tests/src/AssemblySmokeTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests; using System.Reflection; diff --git a/tests/Icod.Terminal.Tests/src/Control/SystemTerminalControlProviderTests.cs b/tests/Icod.Terminal.Tests/src/Control/SystemTerminalControlProviderTests.cs index 530ee6a5e..3ff950fab 100644 --- a/tests/Icod.Terminal.Tests/src/Control/SystemTerminalControlProviderTests.cs +++ b/tests/Icod.Terminal.Tests/src/Control/SystemTerminalControlProviderTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Control; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Control/TerminalColorTests.cs b/tests/Icod.Terminal.Tests/src/Control/TerminalColorTests.cs index 184583ce2..f85909fb6 100644 --- a/tests/Icod.Terminal.Tests/src/Control/TerminalColorTests.cs +++ b/tests/Icod.Terminal.Tests/src/Control/TerminalColorTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Control; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Control/TerminalControlContractsTests.cs b/tests/Icod.Terminal.Tests/src/Control/TerminalControlContractsTests.cs index 4b70b1ae6..cb096ab34 100644 --- a/tests/Icod.Terminal.Tests/src/Control/TerminalControlContractsTests.cs +++ b/tests/Icod.Terminal.Tests/src/Control/TerminalControlContractsTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Control; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Control/TerminalCursorStyleCodecTests.cs b/tests/Icod.Terminal.Tests/src/Control/TerminalCursorStyleCodecTests.cs index da4c9edfb..011bf9780 100644 --- a/tests/Icod.Terminal.Tests/src/Control/TerminalCursorStyleCodecTests.cs +++ b/tests/Icod.Terminal.Tests/src/Control/TerminalCursorStyleCodecTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Control; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Control/TerminalInputModePolicyTests.cs b/tests/Icod.Terminal.Tests/src/Control/TerminalInputModePolicyTests.cs index 4c618fae0..ab7a821cd 100644 --- a/tests/Icod.Terminal.Tests/src/Control/TerminalInputModePolicyTests.cs +++ b/tests/Icod.Terminal.Tests/src/Control/TerminalInputModePolicyTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Control; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Control/TerminalModeCodecTests.cs b/tests/Icod.Terminal.Tests/src/Control/TerminalModeCodecTests.cs index 2bd7b2a7d..d5c95dfeb 100644 --- a/tests/Icod.Terminal.Tests/src/Control/TerminalModeCodecTests.cs +++ b/tests/Icod.Terminal.Tests/src/Control/TerminalModeCodecTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Control; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Control/TerminalPointerShapeTests.cs b/tests/Icod.Terminal.Tests/src/Control/TerminalPointerShapeTests.cs index fcac79db2..e584d2c95 100644 --- a/tests/Icod.Terminal.Tests/src/Control/TerminalPointerShapeTests.cs +++ b/tests/Icod.Terminal.Tests/src/Control/TerminalPointerShapeTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Control; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Control/TerminalProgressValueTests.cs b/tests/Icod.Terminal.Tests/src/Control/TerminalProgressValueTests.cs index cdbd28706..c659a45cf 100644 --- a/tests/Icod.Terminal.Tests/src/Control/TerminalProgressValueTests.cs +++ b/tests/Icod.Terminal.Tests/src/Control/TerminalProgressValueTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Control; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Control/TerminalSemanticPromptMarkerTests.cs b/tests/Icod.Terminal.Tests/src/Control/TerminalSemanticPromptMarkerTests.cs index 39c3ff43f..a162eda7b 100644 --- a/tests/Icod.Terminal.Tests/src/Control/TerminalSemanticPromptMarkerTests.cs +++ b/tests/Icod.Terminal.Tests/src/Control/TerminalSemanticPromptMarkerTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Control; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Control/TerminalSessionPlatformRestorationHardeningTests.cs b/tests/Icod.Terminal.Tests/src/Control/TerminalSessionPlatformRestorationHardeningTests.cs index caf93e6d5..26bdde159 100644 --- a/tests/Icod.Terminal.Tests/src/Control/TerminalSessionPlatformRestorationHardeningTests.cs +++ b/tests/Icod.Terminal.Tests/src/Control/TerminalSessionPlatformRestorationHardeningTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Control; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalCsiQueryTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalCsiQueryTests.cs index 7400e148f..ce29f98bb 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalCsiQueryTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalCsiQueryTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalCursorStyleQueryTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalCursorStyleQueryTests.cs index 505b3c5bc..c3d8eb168 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalCursorStyleQueryTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalCursorStyleQueryTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalDecrqssQueryTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalDecrqssQueryTests.cs index 4dfbf9b64..79fcb19c0 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalDecrqssQueryTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalDecrqssQueryTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalDynamicColorQueryTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalDynamicColorQueryTests.cs index 0906d3150..a23cd627c 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalDynamicColorQueryTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalDynamicColorQueryTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalFocusPasteDecoderTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalFocusPasteDecoderTests.cs index d847ee7fe..f15781cc2 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalFocusPasteDecoderTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalFocusPasteDecoderTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalInputDecoderTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalInputDecoderTests.cs index 1efa5da9a..8f06e1f45 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalInputDecoderTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalInputDecoderTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalInputProtocolLeaseTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalInputProtocolLeaseTests.cs index 89f304597..00e4729a5 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalInputProtocolLeaseTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalInputProtocolLeaseTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalInputProtocolRollbackHardeningTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalInputProtocolRollbackHardeningTests.cs index 8d91bbfcc..23c9f78e0 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalInputProtocolRollbackHardeningTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalInputProtocolRollbackHardeningTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalKeyboardCompositionConcurrencyTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalKeyboardCompositionConcurrencyTests.cs index c0e8bc5ad..73baf4784 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalKeyboardCompositionConcurrencyTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalKeyboardCompositionConcurrencyTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalKeyboardCompositionHardeningTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalKeyboardCompositionHardeningTests.cs index 56b2f03f9..dc2bd7546 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalKeyboardCompositionHardeningTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalKeyboardCompositionHardeningTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalKittyKeyboardDecoderTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalKittyKeyboardDecoderTests.cs index 632b5f4e6..81e475db4 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalKittyKeyboardDecoderTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalKittyKeyboardDecoderTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalKittyKeyboardProtocolLeaseTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalKittyKeyboardProtocolLeaseTests.cs index 9dc31c2db..6b19335fc 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalKittyKeyboardProtocolLeaseTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalKittyKeyboardProtocolLeaseTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalModernKeyboardContractTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalModernKeyboardContractTests.cs index b2a7eda09..c0bed535f 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalModernKeyboardContractTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalModernKeyboardContractTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalMouseDecoderTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalMouseDecoderTests.cs index 9ca4cb270..78c236a00 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalMouseDecoderTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalMouseDecoderTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalOsc22QueryTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalOsc22QueryTests.cs index 496491833..6f4f7e905 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalOsc22QueryTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalOsc22QueryTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalOsc4QueryTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalOsc4QueryTests.cs index 9b326e1f6..9583f9866 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalOsc4QueryTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalOsc4QueryTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalOsc52OversizedRoutingTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalOsc52OversizedRoutingTests.cs index b4fd24a04..d3cde3c73 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalOsc52OversizedRoutingTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalOsc52OversizedRoutingTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalOsc52QueryTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalOsc52QueryTests.cs index f67dcf2fb..600b4213c 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalOsc52QueryTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalOsc52QueryTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalOsc52RoutingTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalOsc52RoutingTests.cs index d0839d350..3cb24afcb 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalOsc52RoutingTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalOsc52RoutingTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalQueryLifecycleHardeningTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalQueryLifecycleHardeningTests.cs index 61c68a794..f14f16ba7 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalQueryLifecycleHardeningTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalQueryLifecycleHardeningTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalQueryTransactionTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalQueryTransactionTests.cs index 35f87c74b..9561d7b99 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalQueryTransactionTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalQueryTransactionTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalResponseContractValidationTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalResponseContractValidationTests.cs index 119f98677..d66742adc 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalResponseContractValidationTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalResponseContractValidationTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalResponseRoutingTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalResponseRoutingTests.cs index d48dbd66b..dfa9ade23 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalResponseRoutingTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalResponseRoutingTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalRichInputContractTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalRichInputContractTests.cs index 280e38c8c..ec1cf6cc1 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalRichInputContractTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalRichInputContractTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalSessionInputTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalSessionInputTests.cs index f8bb3efa3..7e67f290d 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalSessionInputTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalSessionInputTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Threading.Channels; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalTraditionalKeyboardTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalTraditionalKeyboardTests.cs index f9daf417c..a5d686d1d 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalTraditionalKeyboardTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalTraditionalKeyboardTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalXtGetTcapQueryTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalXtGetTcapQueryTests.cs index 9f182e2bf..ad6ad9172 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalXtGetTcapQueryTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalXtGetTcapQueryTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Input/TerminalXtermModifyOtherKeysDecoderTests.cs b/tests/Icod.Terminal.Tests/src/Input/TerminalXtermModifyOtherKeysDecoderTests.cs index 9cb0cf423..58e632dc4 100644 --- a/tests/Icod.Terminal.Tests/src/Input/TerminalXtermModifyOtherKeysDecoderTests.cs +++ b/tests/Icod.Terminal.Tests/src/Input/TerminalXtermModifyOtherKeysDecoderTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Input; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Integration/TerminalColorCompositionTests.cs b/tests/Icod.Terminal.Tests/src/Integration/TerminalColorCompositionTests.cs index d7c187a8a..bcda39fde 100644 --- a/tests/Icod.Terminal.Tests/src/Integration/TerminalColorCompositionTests.cs +++ b/tests/Icod.Terminal.Tests/src/Integration/TerminalColorCompositionTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Integration; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Integration/TerminalCursorStyleAcceptanceTests.cs b/tests/Icod.Terminal.Tests/src/Integration/TerminalCursorStyleAcceptanceTests.cs index 2a07de0af..d0d7c87af 100644 --- a/tests/Icod.Terminal.Tests/src/Integration/TerminalCursorStyleAcceptanceTests.cs +++ b/tests/Icod.Terminal.Tests/src/Integration/TerminalCursorStyleAcceptanceTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Integration; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Integration/TerminalOsc52AcceptanceTests.cs b/tests/Icod.Terminal.Tests/src/Integration/TerminalOsc52AcceptanceTests.cs index 42711c10e..3969bccb5 100644 --- a/tests/Icod.Terminal.Tests/src/Integration/TerminalOsc52AcceptanceTests.cs +++ b/tests/Icod.Terminal.Tests/src/Integration/TerminalOsc52AcceptanceTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Integration; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Integration/TerminalOsc9SafeExtensionCompositionTests.cs b/tests/Icod.Terminal.Tests/src/Integration/TerminalOsc9SafeExtensionCompositionTests.cs index a1ed01049..263bd5f9e 100644 --- a/tests/Icod.Terminal.Tests/src/Integration/TerminalOsc9SafeExtensionCompositionTests.cs +++ b/tests/Icod.Terminal.Tests/src/Integration/TerminalOsc9SafeExtensionCompositionTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Integration; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Integration/TerminalPointerShapeCompositionTests.cs b/tests/Icod.Terminal.Tests/src/Integration/TerminalPointerShapeCompositionTests.cs index 0fc372a5a..7d2200898 100644 --- a/tests/Icod.Terminal.Tests/src/Integration/TerminalPointerShapeCompositionTests.cs +++ b/tests/Icod.Terminal.Tests/src/Integration/TerminalPointerShapeCompositionTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Integration; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Integration/TerminalProgressCompositionTests.cs b/tests/Icod.Terminal.Tests/src/Integration/TerminalProgressCompositionTests.cs index beaa465be..32ea992ef 100644 --- a/tests/Icod.Terminal.Tests/src/Integration/TerminalProgressCompositionTests.cs +++ b/tests/Icod.Terminal.Tests/src/Integration/TerminalProgressCompositionTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Integration; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Integration/TerminalQueryIntegrationTests.cs b/tests/Icod.Terminal.Tests/src/Integration/TerminalQueryIntegrationTests.cs index 689d269f7..305d8cb8e 100644 --- a/tests/Icod.Terminal.Tests/src/Integration/TerminalQueryIntegrationTests.cs +++ b/tests/Icod.Terminal.Tests/src/Integration/TerminalQueryIntegrationTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Integration; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Integration/TerminalSemanticPromptCompositionTests.cs b/tests/Icod.Terminal.Tests/src/Integration/TerminalSemanticPromptCompositionTests.cs index 7f07a5238..82331111c 100644 --- a/tests/Icod.Terminal.Tests/src/Integration/TerminalSemanticPromptCompositionTests.cs +++ b/tests/Icod.Terminal.Tests/src/Integration/TerminalSemanticPromptCompositionTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Integration; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Integration/TerminalSynchronizedOutputCompositionTests.cs b/tests/Icod.Terminal.Tests/src/Integration/TerminalSynchronizedOutputCompositionTests.cs index 4d52d4cab..2ddbf7fb4 100644 --- a/tests/Icod.Terminal.Tests/src/Integration/TerminalSynchronizedOutputCompositionTests.cs +++ b/tests/Icod.Terminal.Tests/src/Integration/TerminalSynchronizedOutputCompositionTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Integration; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalColorLifecycleSemanticsTests.cs b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalColorLifecycleSemanticsTests.cs index a9fc32654..520ac0b24 100644 --- a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalColorLifecycleSemanticsTests.cs +++ b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalColorLifecycleSemanticsTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Lifecycle; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalColorOwnershipHardeningTests.cs b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalColorOwnershipHardeningTests.cs index 10c3dd04d..a292e49ed 100644 --- a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalColorOwnershipHardeningTests.cs +++ b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalColorOwnershipHardeningTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Lifecycle; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalColorSuspendedLeaseDisposalTests.cs b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalColorSuspendedLeaseDisposalTests.cs index 7b7bd3d00..d719e4385 100644 --- a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalColorSuspendedLeaseDisposalTests.cs +++ b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalColorSuspendedLeaseDisposalTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Lifecycle; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalDynamicColorLeaseTests.cs b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalDynamicColorLeaseTests.cs index cfa07bfb0..b81fa282c 100644 --- a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalDynamicColorLeaseTests.cs +++ b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalDynamicColorLeaseTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Lifecycle; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalKeyboardLifecycleHardeningTests.cs b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalKeyboardLifecycleHardeningTests.cs index 76934d3da..73f7d00bf 100644 --- a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalKeyboardLifecycleHardeningTests.cs +++ b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalKeyboardLifecycleHardeningTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Lifecycle; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalLifecycleRollbackFailureHardeningTests.cs b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalLifecycleRollbackFailureHardeningTests.cs index fa1227d0c..583b4ce85 100644 --- a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalLifecycleRollbackFailureHardeningTests.cs +++ b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalLifecycleRollbackFailureHardeningTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Lifecycle; using System.Threading.Channels; diff --git a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionCursorStyleLifecycleTests.cs b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionCursorStyleLifecycleTests.cs index 5a6fbeb85..f33de8b0e 100644 --- a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionCursorStyleLifecycleTests.cs +++ b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionCursorStyleLifecycleTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Lifecycle; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionCursorStyleNestedLifecycleTests.cs b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionCursorStyleNestedLifecycleTests.cs index 39c7836b8..ff0c71e47 100644 --- a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionCursorStyleNestedLifecycleTests.cs +++ b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionCursorStyleNestedLifecycleTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Lifecycle; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionExtendedSemanticMetadataHardeningTests.cs b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionExtendedSemanticMetadataHardeningTests.cs index 5742bec60..bb25097c6 100644 --- a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionExtendedSemanticMetadataHardeningTests.cs +++ b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionExtendedSemanticMetadataHardeningTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Lifecycle; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionHyperlinkLifecycleTests.cs b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionHyperlinkLifecycleTests.cs index 56ed2637f..1fbec9355 100644 --- a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionHyperlinkLifecycleTests.cs +++ b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionHyperlinkLifecycleTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Lifecycle; using System.Threading.Channels; diff --git a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionLifecycleParticipantTests.cs b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionLifecycleParticipantTests.cs index bed317a6c..976e3f859 100644 --- a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionLifecycleParticipantTests.cs +++ b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionLifecycleParticipantTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Lifecycle; using System.Threading.Channels; diff --git a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionLifecycleTests.cs b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionLifecycleTests.cs index 8bb88d115..d73e62e15 100644 --- a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionLifecycleTests.cs +++ b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionLifecycleTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Lifecycle; using System.Threading.Channels; diff --git a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionOsc9SafeExtensionHardeningTests.cs b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionOsc9SafeExtensionHardeningTests.cs index 84c500e0a..7b4855755 100644 --- a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionOsc9SafeExtensionHardeningTests.cs +++ b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionOsc9SafeExtensionHardeningTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Lifecycle; using System.Reflection; diff --git a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionSemanticPromptHardeningTests.cs b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionSemanticPromptHardeningTests.cs index e73384d60..819a720e9 100644 --- a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionSemanticPromptHardeningTests.cs +++ b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionSemanticPromptHardeningTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Lifecycle; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionSynchronizedOutputLifecycleTests.cs b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionSynchronizedOutputLifecycleTests.cs index 25c2cf55e..0a3f0bcaf 100644 --- a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionSynchronizedOutputLifecycleTests.cs +++ b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalSessionSynchronizedOutputLifecycleTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Lifecycle; using System.Threading.Channels; diff --git a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalStateAcquisitionLifecycleHardeningTests.cs b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalStateAcquisitionLifecycleHardeningTests.cs index 9d15e281d..fa3b0e2ba 100644 --- a/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalStateAcquisitionLifecycleHardeningTests.cs +++ b/tests/Icod.Terminal.Tests/src/Lifecycle/TerminalStateAcquisitionLifecycleHardeningTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Lifecycle; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Output/CsiWriterTests.cs b/tests/Icod.Terminal.Tests/src/Output/CsiWriterTests.cs index a391bfe8d..db6383bcb 100644 --- a/tests/Icod.Terminal.Tests/src/Output/CsiWriterTests.cs +++ b/tests/Icod.Terminal.Tests/src/Output/CsiWriterTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Output; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Output/Osc133ExtendedMetadataWriterTests.cs b/tests/Icod.Terminal.Tests/src/Output/Osc133ExtendedMetadataWriterTests.cs index 29e13139f..422fcfcb0 100644 --- a/tests/Icod.Terminal.Tests/src/Output/Osc133ExtendedMetadataWriterTests.cs +++ b/tests/Icod.Terminal.Tests/src/Output/Osc133ExtendedMetadataWriterTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Output; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Output/Osc133SemanticPromptWriterTests.cs b/tests/Icod.Terminal.Tests/src/Output/Osc133SemanticPromptWriterTests.cs index 71d547464..def8353e6 100644 --- a/tests/Icod.Terminal.Tests/src/Output/Osc133SemanticPromptWriterTests.cs +++ b/tests/Icod.Terminal.Tests/src/Output/Osc133SemanticPromptWriterTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Output; using System.Globalization; diff --git a/tests/Icod.Terminal.Tests/src/Output/Osc22PointerShapeWriterTests.cs b/tests/Icod.Terminal.Tests/src/Output/Osc22PointerShapeWriterTests.cs index 288b74856..8d0b172fa 100644 --- a/tests/Icod.Terminal.Tests/src/Output/Osc22PointerShapeWriterTests.cs +++ b/tests/Icod.Terminal.Tests/src/Output/Osc22PointerShapeWriterTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Output; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Output/Osc52WriterTests.cs b/tests/Icod.Terminal.Tests/src/Output/Osc52WriterTests.cs index 7d0e0bec8..a52872d15 100644 --- a/tests/Icod.Terminal.Tests/src/Output/Osc52WriterTests.cs +++ b/tests/Icod.Terminal.Tests/src/Output/Osc52WriterTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Output; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Output/Osc9ProgressWriterTests.cs b/tests/Icod.Terminal.Tests/src/Output/Osc9ProgressWriterTests.cs index f3ee88075..a74df9de6 100644 --- a/tests/Icod.Terminal.Tests/src/Output/Osc9ProgressWriterTests.cs +++ b/tests/Icod.Terminal.Tests/src/Output/Osc9ProgressWriterTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Output; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Output/Osc9SafeTextWriterTests.cs b/tests/Icod.Terminal.Tests/src/Output/Osc9SafeTextWriterTests.cs index 6cc3a9589..41ab046e2 100644 --- a/tests/Icod.Terminal.Tests/src/Output/Osc9SafeTextWriterTests.cs +++ b/tests/Icod.Terminal.Tests/src/Output/Osc9SafeTextWriterTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Output; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Output/OscHyperlinkWriterTests.cs b/tests/Icod.Terminal.Tests/src/Output/OscHyperlinkWriterTests.cs index 967269368..a6976fce9 100644 --- a/tests/Icod.Terminal.Tests/src/Output/OscHyperlinkWriterTests.cs +++ b/tests/Icod.Terminal.Tests/src/Output/OscHyperlinkWriterTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Output; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Output/OscLocationWriterTests.cs b/tests/Icod.Terminal.Tests/src/Output/OscLocationWriterTests.cs index 25a666035..49edf3e0b 100644 --- a/tests/Icod.Terminal.Tests/src/Output/OscLocationWriterTests.cs +++ b/tests/Icod.Terminal.Tests/src/Output/OscLocationWriterTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Output; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Output/OscWriterTests.cs b/tests/Icod.Terminal.Tests/src/Output/OscWriterTests.cs index b2309eff6..bc7735a51 100644 --- a/tests/Icod.Terminal.Tests/src/Output/OscWriterTests.cs +++ b/tests/Icod.Terminal.Tests/src/Output/OscWriterTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Output; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Output/TerminalColorCodecTests.cs b/tests/Icod.Terminal.Tests/src/Output/TerminalColorCodecTests.cs index 5f1d163c2..6d9873c07 100644 --- a/tests/Icod.Terminal.Tests/src/Output/TerminalColorCodecTests.cs +++ b/tests/Icod.Terminal.Tests/src/Output/TerminalColorCodecTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Output; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Output/TerminalHyperlinkEncoderTests.cs b/tests/Icod.Terminal.Tests/src/Output/TerminalHyperlinkEncoderTests.cs index 5d4dc0cb0..d1287d5bf 100644 --- a/tests/Icod.Terminal.Tests/src/Output/TerminalHyperlinkEncoderTests.cs +++ b/tests/Icod.Terminal.Tests/src/Output/TerminalHyperlinkEncoderTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Output; using System.Globalization; diff --git a/tests/Icod.Terminal.Tests/src/Output/TerminalHyperlinkSecurityAcceptanceTests.cs b/tests/Icod.Terminal.Tests/src/Output/TerminalHyperlinkSecurityAcceptanceTests.cs index 41aced4c6..621b135ff 100644 --- a/tests/Icod.Terminal.Tests/src/Output/TerminalHyperlinkSecurityAcceptanceTests.cs +++ b/tests/Icod.Terminal.Tests/src/Output/TerminalHyperlinkSecurityAcceptanceTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Output; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Output/TerminalLocationUriEncoderTests.cs b/tests/Icod.Terminal.Tests/src/Output/TerminalLocationUriEncoderTests.cs index 381f8e1d0..2605dd90c 100644 --- a/tests/Icod.Terminal.Tests/src/Output/TerminalLocationUriEncoderTests.cs +++ b/tests/Icod.Terminal.Tests/src/Output/TerminalLocationUriEncoderTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Output; using System.Globalization; diff --git a/tests/Icod.Terminal.Tests/src/Output/TerminalOsc104ProtocolTests.cs b/tests/Icod.Terminal.Tests/src/Output/TerminalOsc104ProtocolTests.cs index 7abcf6108..88d9961ae 100644 --- a/tests/Icod.Terminal.Tests/src/Output/TerminalOsc104ProtocolTests.cs +++ b/tests/Icod.Terminal.Tests/src/Output/TerminalOsc104ProtocolTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Output; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Output/TerminalOsc4ProtocolTests.cs b/tests/Icod.Terminal.Tests/src/Output/TerminalOsc4ProtocolTests.cs index 4f17cbbb8..4c3088421 100644 --- a/tests/Icod.Terminal.Tests/src/Output/TerminalOsc4ProtocolTests.cs +++ b/tests/Icod.Terminal.Tests/src/Output/TerminalOsc4ProtocolTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Output; using System.Globalization; diff --git a/tests/Icod.Terminal.Tests/src/Output/TerminalOsc52PayloadCodecTests.cs b/tests/Icod.Terminal.Tests/src/Output/TerminalOsc52PayloadCodecTests.cs index bf07edd44..d0f3fc3dc 100644 --- a/tests/Icod.Terminal.Tests/src/Output/TerminalOsc52PayloadCodecTests.cs +++ b/tests/Icod.Terminal.Tests/src/Output/TerminalOsc52PayloadCodecTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Output; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Presentation/TerminalPresentationLeaseTests.cs b/tests/Icod.Terminal.Tests/src/Presentation/TerminalPresentationLeaseTests.cs index b460fc3ab..e6908cfde 100644 --- a/tests/Icod.Terminal.Tests/src/Presentation/TerminalPresentationLeaseTests.cs +++ b/tests/Icod.Terminal.Tests/src/Presentation/TerminalPresentationLeaseTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Presentation; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Presentation/TerminalPresentationRollbackHardeningTests.cs b/tests/Icod.Terminal.Tests/src/Presentation/TerminalPresentationRollbackHardeningTests.cs index 01f19cd60..3ddea6386 100644 --- a/tests/Icod.Terminal.Tests/src/Presentation/TerminalPresentationRollbackHardeningTests.cs +++ b/tests/Icod.Terminal.Tests/src/Presentation/TerminalPresentationRollbackHardeningTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Presentation; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalPaletteColorAcquisitionTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalPaletteColorAcquisitionTests.cs index 84935585f..f75b68eac 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalPaletteColorAcquisitionTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalPaletteColorAcquisitionTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalPaletteColorLeaseTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalPaletteColorLeaseTests.cs index d2e9d9e7b..52adc1627 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalPaletteColorLeaseTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalPaletteColorLeaseTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalPaletteResetTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalPaletteResetTests.cs index 2790d2901..4a95d2288 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalPaletteResetTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalPaletteResetTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalPointerShapeLeaseTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalPointerShapeLeaseTests.cs index 9637d964d..060c7460a 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalPointerShapeLeaseTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalPointerShapeLeaseTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalPointerShapeLifecycleFailureTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalPointerShapeLifecycleFailureTests.cs index 9f80fb406..3c416ee90 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalPointerShapeLifecycleFailureTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalPointerShapeLifecycleFailureTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using System.IO; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalPointerShapeManagerTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalPointerShapeManagerTests.cs index 5f80f003f..0a8429f8f 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalPointerShapeManagerTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalPointerShapeManagerTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalProgressLeaseTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalProgressLeaseTests.cs index bf17f6ae0..9f4097ff1 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalProgressLeaseTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalProgressLeaseTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalProgressLifecycleFailureTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalProgressLifecycleFailureTests.cs index 63bd3d7bb..d6e054901 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalProgressLifecycleFailureTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalProgressLifecycleFailureTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using System.IO; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalProgressManagerTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalProgressManagerTests.cs index 31e2f8b40..fff733b43 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalProgressManagerTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalProgressManagerTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalProgressPreMergeHardeningTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalProgressPreMergeHardeningTests.cs index 045d7d166..63fbad248 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalProgressPreMergeHardeningTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalProgressPreMergeHardeningTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSemanticCommandOutputOptionsTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSemanticCommandOutputOptionsTests.cs index 2bdace165..d680d9c0b 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSemanticCommandOutputOptionsTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSemanticCommandOutputOptionsTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSemanticPromptOptionsTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSemanticPromptOptionsTests.cs index 2576470a2..6a798095c 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSemanticPromptOptionsTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSemanticPromptOptionsTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionClipboardOrderingTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionClipboardOrderingTests.cs index b477107e2..9ec5a368c 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionClipboardOrderingTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionClipboardOrderingTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionClipboardTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionClipboardTests.cs index 7f6797628..3afab7704 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionClipboardTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionClipboardTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionCursorStyleFailureTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionCursorStyleFailureTests.cs index 146bdf432..c4bf8ff8a 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionCursorStyleFailureTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionCursorStyleFailureTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionCursorStyleLeaseTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionCursorStyleLeaseTests.cs index bdd3e853a..7fac1a67f 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionCursorStyleLeaseTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionCursorStyleLeaseTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionCursorStyleTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionCursorStyleTests.cs index 823278626..c948b6c8e 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionCursorStyleTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionCursorStyleTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionHyperlinkCompositionTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionHyperlinkCompositionTests.cs index c1671d1f5..0860aff78 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionHyperlinkCompositionTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionHyperlinkCompositionTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionHyperlinkLeaseTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionHyperlinkLeaseTests.cs index f009a6938..0bb5774c1 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionHyperlinkLeaseTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionHyperlinkLeaseTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionHyperlinkOrderingTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionHyperlinkOrderingTests.cs index 63a50f532..2ab36029d 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionHyperlinkOrderingTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionHyperlinkOrderingTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionHyperlinkTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionHyperlinkTests.cs index 432ce8639..2dc301084 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionHyperlinkTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionHyperlinkTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionIconNameTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionIconNameTests.cs index 49b2eb83f..314f9cc86 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionIconNameTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionIconNameTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionIdentityOutputTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionIdentityOutputTests.cs index 639475ba8..e566f7577 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionIdentityOutputTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionIdentityOutputTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionLocationAcceptanceTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionLocationAcceptanceTests.cs index 2a85e46de..4627a13cb 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionLocationAcceptanceTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionLocationAcceptanceTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionLocationSafetyTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionLocationSafetyTests.cs index 5d5c4f857..4dc70db9c 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionLocationSafetyTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionLocationSafetyTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionLocationTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionLocationTests.cs index c6d77aefd..cb76f89f0 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionLocationTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionLocationTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionNotificationTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionNotificationTests.cs index 491be838f..10555913a 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionNotificationTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionNotificationTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionOutputOrderingTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionOutputOrderingTests.cs index 7fe6ea511..c62eb1da1 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionOutputOrderingTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionOutputOrderingTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionPublicSurfaceFreezeTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionPublicSurfaceFreezeTests.cs index de3d54a49..4edbee1cb 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionPublicSurfaceFreezeTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionPublicSurfaceFreezeTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using System.Reflection; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionSemanticPromptPublicApiTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionSemanticPromptPublicApiTests.cs index ca73cacfa..9e7b5569a 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionSemanticPromptPublicApiTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionSemanticPromptPublicApiTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionSemanticPromptTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionSemanticPromptTests.cs index 43cde5e0f..046cbd25a 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionSemanticPromptTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionSemanticPromptTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionTests.cs index 6d86a05bc..ce9969dc8 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionTitleContractTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionTitleContractTests.cs index a583b801d..4e909d3dc 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionTitleContractTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionTitleContractTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionTitleTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionTitleTests.cs index c138735eb..402f8c69b 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionTitleTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionTitleTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionWindowTitleTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionWindowTitleTests.cs index 044f1c8ba..44e3e1908 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionWindowTitleTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionWindowTitleTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionWindowsCurrentDirectoryCompatibilityTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionWindowsCurrentDirectoryCompatibilityTests.cs index 598611487..b9c4ac1f2 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSessionWindowsCurrentDirectoryCompatibilityTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSessionWindowsCurrentDirectoryCompatibilityTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputConcurrencyTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputConcurrencyTests.cs index 4c211a93a..2fe0b72f3 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputConcurrencyTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputConcurrencyTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputFailureTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputFailureTests.cs index 2acf96170..f4981e5ad 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputFailureTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputFailureTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputLeaseTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputLeaseTests.cs index e9fc80988..868b14cb5 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputLeaseTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputLeaseTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputManagerTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputManagerTests.cs index dd04e9a16..454208d67 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputManagerTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputManagerTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputPreMergeHardeningTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputPreMergeHardeningTests.cs index 8213cb8eb..faa19473f 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputPreMergeHardeningTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputPreMergeHardeningTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using System.Text; diff --git a/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputSessionCleanupTests.cs b/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputSessionCleanupTests.cs index 93b17c1b4..f126aa82c 100644 --- a/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputSessionCleanupTests.cs +++ b/tests/Icod.Terminal.Tests/src/Session/TerminalSynchronizedOutputSessionCleanupTests.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.Tests + Automated test suite for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.Tests.Session; using Icod.Terminal; diff --git a/tools/dcurses-color-observation-acceptance/Icod.Terminal.DCursesColorObservationAcceptance.csproj b/tools/dcurses-color-observation-acceptance/Icod.Terminal.DCursesColorObservationAcceptance.csproj index e4d528499..245b5b4c2 100644 --- a/tools/dcurses-color-observation-acceptance/Icod.Terminal.DCursesColorObservationAcceptance.csproj +++ b/tools/dcurses-color-observation-acceptance/Icod.Terminal.DCursesColorObservationAcceptance.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/dcurses-color-observation-acceptance/Program.cs b/tools/dcurses-color-observation-acceptance/Program.cs index 3630b25c0..6e904f413 100644 --- a/tools/dcurses-color-observation-acceptance/Program.cs +++ b/tools/dcurses-color-observation-acceptance/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.DCursesColorObservationAcceptance + Downstream Icod.DCurses acceptance utility for Icod.Terminal integration contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Text; using System.Threading.Channels; using Icod.DCurses; diff --git a/tools/dcurses-hardening-soak/Icod.Terminal.DCursesHardeningSoak.csproj b/tools/dcurses-hardening-soak/Icod.Terminal.DCursesHardeningSoak.csproj index e4d528499..630d5826c 100644 --- a/tools/dcurses-hardening-soak/Icod.Terminal.DCursesHardeningSoak.csproj +++ b/tools/dcurses-hardening-soak/Icod.Terminal.DCursesHardeningSoak.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/dcurses-hardening-soak/Program.cs b/tools/dcurses-hardening-soak/Program.cs index 65e53ac65..e1f0e89d0 100644 --- a/tools/dcurses-hardening-soak/Program.cs +++ b/tools/dcurses-hardening-soak/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.DCursesHardeningSoak + Downstream Icod.DCurses acceptance utility for Icod.Terminal integration contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Text; using System.Threading.Channels; using Icod.DCurses; diff --git a/tools/dcurses-modern-keyboard-acceptance/Icod.Terminal.DCursesModernKeyboardAcceptance.csproj b/tools/dcurses-modern-keyboard-acceptance/Icod.Terminal.DCursesModernKeyboardAcceptance.csproj index e4d528499..181d06377 100644 --- a/tools/dcurses-modern-keyboard-acceptance/Icod.Terminal.DCursesModernKeyboardAcceptance.csproj +++ b/tools/dcurses-modern-keyboard-acceptance/Icod.Terminal.DCursesModernKeyboardAcceptance.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/dcurses-modern-keyboard-acceptance/Program.cs b/tools/dcurses-modern-keyboard-acceptance/Program.cs index 1a1e18dba..656dea4b1 100644 --- a/tools/dcurses-modern-keyboard-acceptance/Program.cs +++ b/tools/dcurses-modern-keyboard-acceptance/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.DCursesModernKeyboardAcceptance + Downstream Icod.DCurses acceptance utility for Icod.Terminal integration contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Text; using System.Threading.Channels; using Icod.DCurses; diff --git a/tools/dcurses-package-acceptance/Icod.Terminal.DCursesPackageAcceptance.csproj b/tools/dcurses-package-acceptance/Icod.Terminal.DCursesPackageAcceptance.csproj index d885fec2b..63fc46925 100644 --- a/tools/dcurses-package-acceptance/Icod.Terminal.DCursesPackageAcceptance.csproj +++ b/tools/dcurses-package-acceptance/Icod.Terminal.DCursesPackageAcceptance.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/dcurses-pointer-shape-acceptance/Icod.Terminal.DCursesPointerShapeAcceptance.csproj b/tools/dcurses-pointer-shape-acceptance/Icod.Terminal.DCursesPointerShapeAcceptance.csproj index e4d528499..c2775712c 100644 --- a/tools/dcurses-pointer-shape-acceptance/Icod.Terminal.DCursesPointerShapeAcceptance.csproj +++ b/tools/dcurses-pointer-shape-acceptance/Icod.Terminal.DCursesPointerShapeAcceptance.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/dcurses-pointer-shape-acceptance/Program.cs b/tools/dcurses-pointer-shape-acceptance/Program.cs index 5f7f42443..9b90ce384 100644 --- a/tools/dcurses-pointer-shape-acceptance/Program.cs +++ b/tools/dcurses-pointer-shape-acceptance/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.DCursesPointerShapeAcceptance + Downstream Icod.DCurses acceptance utility for Icod.Terminal integration contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Text; using Icod.DCurses; using Icod.Terminal; diff --git a/tools/dcurses-progress-acceptance/Icod.Terminal.DCursesProgressAcceptance.csproj b/tools/dcurses-progress-acceptance/Icod.Terminal.DCursesProgressAcceptance.csproj index e4d528499..a9546d303 100644 --- a/tools/dcurses-progress-acceptance/Icod.Terminal.DCursesProgressAcceptance.csproj +++ b/tools/dcurses-progress-acceptance/Icod.Terminal.DCursesProgressAcceptance.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/dcurses-progress-acceptance/Program.cs b/tools/dcurses-progress-acceptance/Program.cs index 370e333bd..9a033e8bc 100644 --- a/tools/dcurses-progress-acceptance/Program.cs +++ b/tools/dcurses-progress-acceptance/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.DCursesProgressAcceptance + Downstream Icod.DCurses acceptance utility for Icod.Terminal integration contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Text; using Icod.DCurses; using Icod.Terminal; diff --git a/tools/dcurses-semantic-prompt-acceptance/Icod.Terminal.DCursesSemanticPromptAcceptance.csproj b/tools/dcurses-semantic-prompt-acceptance/Icod.Terminal.DCursesSemanticPromptAcceptance.csproj index e4d528499..9a26d6a69 100644 --- a/tools/dcurses-semantic-prompt-acceptance/Icod.Terminal.DCursesSemanticPromptAcceptance.csproj +++ b/tools/dcurses-semantic-prompt-acceptance/Icod.Terminal.DCursesSemanticPromptAcceptance.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/dcurses-semantic-prompt-acceptance/Program.cs b/tools/dcurses-semantic-prompt-acceptance/Program.cs index 1bf92d0cf..1360ed63f 100644 --- a/tools/dcurses-semantic-prompt-acceptance/Program.cs +++ b/tools/dcurses-semantic-prompt-acceptance/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.DCursesSemanticPromptAcceptance + Downstream Icod.DCurses acceptance utility for Icod.Terminal integration contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Text; using Icod.DCurses; using Icod.Terminal; diff --git a/tools/dcurses-synchronized-output-acceptance/Icod.Terminal.DCursesSynchronizedOutputAcceptance.csproj b/tools/dcurses-synchronized-output-acceptance/Icod.Terminal.DCursesSynchronizedOutputAcceptance.csproj index e4d528499..1836e4a72 100644 --- a/tools/dcurses-synchronized-output-acceptance/Icod.Terminal.DCursesSynchronizedOutputAcceptance.csproj +++ b/tools/dcurses-synchronized-output-acceptance/Icod.Terminal.DCursesSynchronizedOutputAcceptance.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/dcurses-synchronized-output-acceptance/Program.cs b/tools/dcurses-synchronized-output-acceptance/Program.cs index feb5fc562..bf0d27129 100644 --- a/tools/dcurses-synchronized-output-acceptance/Program.cs +++ b/tools/dcurses-synchronized-output-acceptance/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.DCursesSynchronizedOutputAcceptance + Downstream Icod.DCurses acceptance utility for Icod.Terminal integration contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Text; using Icod.DCurses; using Icod.Terminal; diff --git a/tools/package-clipboard-smoke/Icod.Terminal.PackageClipboardSmoke.csproj b/tools/package-clipboard-smoke/Icod.Terminal.PackageClipboardSmoke.csproj index 4656bf7e8..d91b5a427 100644 --- a/tools/package-clipboard-smoke/Icod.Terminal.PackageClipboardSmoke.csproj +++ b/tools/package-clipboard-smoke/Icod.Terminal.PackageClipboardSmoke.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/package-clipboard-smoke/Program.cs b/tools/package-clipboard-smoke/Program.cs index 1dbe86237..fc496eaa0 100644 --- a/tools/package-clipboard-smoke/Program.cs +++ b/tools/package-clipboard-smoke/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.PackageClipboardSmoke + Package smoke-test utility for Icod.Terminal release and compatibility contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Text; using System.Threading.Channels; using Icod.Terminal; diff --git a/tools/package-color-ownership-smoke/Icod.Terminal.PackageColorOwnershipSmoke.csproj b/tools/package-color-ownership-smoke/Icod.Terminal.PackageColorOwnershipSmoke.csproj index 29bf77a82..6b05f8b25 100644 --- a/tools/package-color-ownership-smoke/Icod.Terminal.PackageColorOwnershipSmoke.csproj +++ b/tools/package-color-ownership-smoke/Icod.Terminal.PackageColorOwnershipSmoke.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/package-color-ownership-smoke/Program.cs b/tools/package-color-ownership-smoke/Program.cs index 30c160cc5..dcf11ca53 100644 --- a/tools/package-color-ownership-smoke/Program.cs +++ b/tools/package-color-ownership-smoke/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.PackageColorOwnershipSmoke + Package smoke-test utility for Icod.Terminal release and compatibility contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using Icod.Terminal; Func> acquirePalette = diff --git a/tools/package-color-smoke/Icod.Terminal.PackageColorSmoke.csproj b/tools/package-color-smoke/Icod.Terminal.PackageColorSmoke.csproj index 29bf77a82..facc993c5 100644 --- a/tools/package-color-smoke/Icod.Terminal.PackageColorSmoke.csproj +++ b/tools/package-color-smoke/Icod.Terminal.PackageColorSmoke.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/package-color-smoke/Program.cs b/tools/package-color-smoke/Program.cs index 7d8e04b79..e25e57df9 100644 --- a/tools/package-color-smoke/Program.cs +++ b/tools/package-color-smoke/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.PackageColorSmoke + Package smoke-test utility for Icod.Terminal release and compatibility contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using Icod.Terminal; TerminalColor color = new( diff --git a/tools/package-cursor-style-smoke/Icod.Terminal.PackageCursorStyleSmoke.csproj b/tools/package-cursor-style-smoke/Icod.Terminal.PackageCursorStyleSmoke.csproj index 4656bf7e8..225da1220 100644 --- a/tools/package-cursor-style-smoke/Icod.Terminal.PackageCursorStyleSmoke.csproj +++ b/tools/package-cursor-style-smoke/Icod.Terminal.PackageCursorStyleSmoke.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/package-cursor-style-smoke/Program.cs b/tools/package-cursor-style-smoke/Program.cs index e57cd36ce..8ad240860 100644 --- a/tools/package-cursor-style-smoke/Program.cs +++ b/tools/package-cursor-style-smoke/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.PackageCursorStyleSmoke + Package smoke-test utility for Icod.Terminal release and compatibility contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Text; using System.Threading.Channels; using Icod.Terminal; diff --git a/tools/package-hardening-smoke/Icod.Terminal.PackageHardeningSmoke.csproj b/tools/package-hardening-smoke/Icod.Terminal.PackageHardeningSmoke.csproj index 29bf77a82..45b378d82 100644 --- a/tools/package-hardening-smoke/Icod.Terminal.PackageHardeningSmoke.csproj +++ b/tools/package-hardening-smoke/Icod.Terminal.PackageHardeningSmoke.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/package-hardening-smoke/Program.cs b/tools/package-hardening-smoke/Program.cs index da3bc4d22..92b508811 100644 --- a/tools/package-hardening-smoke/Program.cs +++ b/tools/package-hardening-smoke/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.PackageHardeningSmoke + Package smoke-test utility for Icod.Terminal release and compatibility contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Text; using Icod.Terminal; using Icod.TermInfo; diff --git a/tools/package-hyperlink-smoke/Icod.Terminal.PackageHyperlinkSmoke.csproj b/tools/package-hyperlink-smoke/Icod.Terminal.PackageHyperlinkSmoke.csproj index 4656bf7e8..c5e4f90b1 100644 --- a/tools/package-hyperlink-smoke/Icod.Terminal.PackageHyperlinkSmoke.csproj +++ b/tools/package-hyperlink-smoke/Icod.Terminal.PackageHyperlinkSmoke.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/package-hyperlink-smoke/Program.cs b/tools/package-hyperlink-smoke/Program.cs index 32052734a..199daad65 100644 --- a/tools/package-hyperlink-smoke/Program.cs +++ b/tools/package-hyperlink-smoke/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.PackageHyperlinkSmoke + Package smoke-test utility for Icod.Terminal release and compatibility contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using Icod.Terminal; using Icod.TermInfo; diff --git a/tools/package-location-smoke/Icod.Terminal.PackageLocationSmoke.csproj b/tools/package-location-smoke/Icod.Terminal.PackageLocationSmoke.csproj index 4656bf7e8..d147967b1 100644 --- a/tools/package-location-smoke/Icod.Terminal.PackageLocationSmoke.csproj +++ b/tools/package-location-smoke/Icod.Terminal.PackageLocationSmoke.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/package-location-smoke/Program.cs b/tools/package-location-smoke/Program.cs index ac9f982c6..c4f405d92 100644 --- a/tools/package-location-smoke/Program.cs +++ b/tools/package-location-smoke/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.PackageLocationSmoke + Package smoke-test utility for Icod.Terminal release and compatibility contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using Icod.Terminal; using Icod.TermInfo; diff --git a/tools/package-modern-keyboard-smoke/Icod.Terminal.PackageModernKeyboardSmoke.csproj b/tools/package-modern-keyboard-smoke/Icod.Terminal.PackageModernKeyboardSmoke.csproj index 29bf77a82..ecf64fa89 100644 --- a/tools/package-modern-keyboard-smoke/Icod.Terminal.PackageModernKeyboardSmoke.csproj +++ b/tools/package-modern-keyboard-smoke/Icod.Terminal.PackageModernKeyboardSmoke.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/package-modern-keyboard-smoke/Program.cs b/tools/package-modern-keyboard-smoke/Program.cs index 9a764a2d8..4165c9a53 100644 --- a/tools/package-modern-keyboard-smoke/Program.cs +++ b/tools/package-modern-keyboard-smoke/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.PackageModernKeyboardSmoke + Package smoke-test utility for Icod.Terminal release and compatibility contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Reflection; using Icod.Terminal; diff --git a/tools/package-pointer-shape-smoke/Icod.Terminal.PackagePointerShapeSmoke.csproj b/tools/package-pointer-shape-smoke/Icod.Terminal.PackagePointerShapeSmoke.csproj index 4656bf7e8..d74112791 100644 --- a/tools/package-pointer-shape-smoke/Icod.Terminal.PackagePointerShapeSmoke.csproj +++ b/tools/package-pointer-shape-smoke/Icod.Terminal.PackagePointerShapeSmoke.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/package-pointer-shape-smoke/Program.cs b/tools/package-pointer-shape-smoke/Program.cs index bc98bd76b..44fb28e96 100644 --- a/tools/package-pointer-shape-smoke/Program.cs +++ b/tools/package-pointer-shape-smoke/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.PackagePointerShapeSmoke + Package smoke-test utility for Icod.Terminal release and compatibility contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Text; using Icod.Terminal; using Icod.TermInfo; diff --git a/tools/package-progress-smoke/Icod.Terminal.PackageProgressSmoke.csproj b/tools/package-progress-smoke/Icod.Terminal.PackageProgressSmoke.csproj index 4656bf7e8..cffc907f3 100644 --- a/tools/package-progress-smoke/Icod.Terminal.PackageProgressSmoke.csproj +++ b/tools/package-progress-smoke/Icod.Terminal.PackageProgressSmoke.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/package-progress-smoke/Program.cs b/tools/package-progress-smoke/Program.cs index bb80f8eba..c0a44986a 100644 --- a/tools/package-progress-smoke/Program.cs +++ b/tools/package-progress-smoke/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.PackageProgressSmoke + Package smoke-test utility for Icod.Terminal release and compatibility contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Text; using Icod.Terminal; using Icod.TermInfo; diff --git a/tools/package-release-line-smoke/Icod.Terminal.PackageReleaseLineSmoke.csproj b/tools/package-release-line-smoke/Icod.Terminal.PackageReleaseLineSmoke.csproj index 29bf77a82..0db9aedff 100644 --- a/tools/package-release-line-smoke/Icod.Terminal.PackageReleaseLineSmoke.csproj +++ b/tools/package-release-line-smoke/Icod.Terminal.PackageReleaseLineSmoke.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/package-release-line-smoke/Program.cs b/tools/package-release-line-smoke/Program.cs index 135d32b9e..cd11ae37e 100644 --- a/tools/package-release-line-smoke/Program.cs +++ b/tools/package-release-line-smoke/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.PackageReleaseLineSmoke + Package smoke-test utility for Icod.Terminal release and compatibility contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Reflection; using Icod.Terminal; diff --git a/tools/package-safe-osc9-smoke/Icod.Terminal.PackageSafeOsc9Smoke.csproj b/tools/package-safe-osc9-smoke/Icod.Terminal.PackageSafeOsc9Smoke.csproj index 29bf77a82..2d0976f6a 100644 --- a/tools/package-safe-osc9-smoke/Icod.Terminal.PackageSafeOsc9Smoke.csproj +++ b/tools/package-safe-osc9-smoke/Icod.Terminal.PackageSafeOsc9Smoke.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/package-safe-osc9-smoke/Program.cs b/tools/package-safe-osc9-smoke/Program.cs index ddca79a9d..5822e5707 100644 --- a/tools/package-safe-osc9-smoke/Program.cs +++ b/tools/package-safe-osc9-smoke/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.PackageSafeOsc9Smoke + Package smoke-test utility for Icod.Terminal release and compatibility contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Reflection; using Icod.Terminal; diff --git a/tools/package-semantic-metadata-smoke/Icod.Terminal.PackageSemanticMetadataSmoke.csproj b/tools/package-semantic-metadata-smoke/Icod.Terminal.PackageSemanticMetadataSmoke.csproj index 29bf77a82..03ae57959 100644 --- a/tools/package-semantic-metadata-smoke/Icod.Terminal.PackageSemanticMetadataSmoke.csproj +++ b/tools/package-semantic-metadata-smoke/Icod.Terminal.PackageSemanticMetadataSmoke.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/package-semantic-metadata-smoke/Program.cs b/tools/package-semantic-metadata-smoke/Program.cs index d1f11d234..a724211d6 100644 --- a/tools/package-semantic-metadata-smoke/Program.cs +++ b/tools/package-semantic-metadata-smoke/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.PackageSemanticMetadataSmoke + Package smoke-test utility for Icod.Terminal release and compatibility contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using Icod.Terminal; TerminalSemanticPromptOptions prompt = new( diff --git a/tools/package-semantic-prompt-smoke/Icod.Terminal.PackageSemanticPromptSmoke.csproj b/tools/package-semantic-prompt-smoke/Icod.Terminal.PackageSemanticPromptSmoke.csproj index 4656bf7e8..b87662641 100644 --- a/tools/package-semantic-prompt-smoke/Icod.Terminal.PackageSemanticPromptSmoke.csproj +++ b/tools/package-semantic-prompt-smoke/Icod.Terminal.PackageSemanticPromptSmoke.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/package-semantic-prompt-smoke/Program.cs b/tools/package-semantic-prompt-smoke/Program.cs index 2cf546990..5fb9c25f2 100644 --- a/tools/package-semantic-prompt-smoke/Program.cs +++ b/tools/package-semantic-prompt-smoke/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.PackageSemanticPromptSmoke + Package smoke-test utility for Icod.Terminal release and compatibility contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Text; using Icod.Terminal; using Icod.TermInfo; diff --git a/tools/package-smoke/Icod.Terminal.PackageSmoke.csproj b/tools/package-smoke/Icod.Terminal.PackageSmoke.csproj index 4656bf7e8..acb62d766 100644 --- a/tools/package-smoke/Icod.Terminal.PackageSmoke.csproj +++ b/tools/package-smoke/Icod.Terminal.PackageSmoke.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/package-smoke/Program.cs b/tools/package-smoke/Program.cs index 05d96c001..2811f8143 100644 --- a/tools/package-smoke/Program.cs +++ b/tools/package-smoke/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.PackageSmoke + Package smoke-test utility for Icod.Terminal release and compatibility contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Text; using System.Threading.Channels; using Icod.Terminal; diff --git a/tools/package-synchronized-output-smoke/Icod.Terminal.PackageSynchronizedOutputSmoke.csproj b/tools/package-synchronized-output-smoke/Icod.Terminal.PackageSynchronizedOutputSmoke.csproj index 4656bf7e8..bc6c439d1 100644 --- a/tools/package-synchronized-output-smoke/Icod.Terminal.PackageSynchronizedOutputSmoke.csproj +++ b/tools/package-synchronized-output-smoke/Icod.Terminal.PackageSynchronizedOutputSmoke.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/package-synchronized-output-smoke/Program.cs b/tools/package-synchronized-output-smoke/Program.cs index 984fbc693..ab24399d0 100644 --- a/tools/package-synchronized-output-smoke/Program.cs +++ b/tools/package-synchronized-output-smoke/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.PackageSynchronizedOutputSmoke + Package smoke-test utility for Icod.Terminal release and compatibility contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Text; using Icod.Terminal; using Icod.TermInfo; diff --git a/tools/package-title-smoke/Icod.Terminal.PackageTitleSmoke.csproj b/tools/package-title-smoke/Icod.Terminal.PackageTitleSmoke.csproj index 4656bf7e8..b69a897eb 100644 --- a/tools/package-title-smoke/Icod.Terminal.PackageTitleSmoke.csproj +++ b/tools/package-title-smoke/Icod.Terminal.PackageTitleSmoke.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/package-title-smoke/Program.cs b/tools/package-title-smoke/Program.cs index ef7b1accd..9db97afc6 100644 --- a/tools/package-title-smoke/Program.cs +++ b/tools/package-title-smoke/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.PackageTitleSmoke + Package smoke-test utility for Icod.Terminal release and compatibility contracts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using Icod.Terminal; using Icod.TermInfo; diff --git a/tools/package-verifier/Icod.Terminal.PackageVerifier.csproj b/tools/package-verifier/Icod.Terminal.PackageVerifier.csproj index 0e294ed4d..c348059c6 100644 --- a/tools/package-verifier/Icod.Terminal.PackageVerifier.csproj +++ b/tools/package-verifier/Icod.Terminal.PackageVerifier.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/package-verifier/Program.cs b/tools/package-verifier/Program.cs index b241256b7..f825a832d 100644 --- a/tools/package-verifier/Program.cs +++ b/tools/package-verifier/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.PackageVerifier + Package verification utility for Icod.Terminal release artifacts. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ namespace Icod.Terminal.PackageVerifier; using System.IO.Compression; diff --git a/tools/public-api-snapshot/Icod.Terminal.PublicApiSnapshot.csproj b/tools/public-api-snapshot/Icod.Terminal.PublicApiSnapshot.csproj index 5c15c6433..f927b404a 100644 --- a/tools/public-api-snapshot/Icod.Terminal.PublicApiSnapshot.csproj +++ b/tools/public-api-snapshot/Icod.Terminal.PublicApiSnapshot.csproj @@ -1,3 +1,24 @@ + + + + Exe diff --git a/tools/public-api-snapshot/Program.cs b/tools/public-api-snapshot/Program.cs index 1e57ca83d..3e8bcce9d 100644 --- a/tools/public-api-snapshot/Program.cs +++ b/tools/public-api-snapshot/Program.cs @@ -1,3 +1,23 @@ +/* + Icod.Terminal.PublicApiSnapshot + Public API snapshot generator for the Icod.Terminal library. + Copyright (C) 2026 Timothy J. Bruce +*/ + +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ using System.Globalization; using System.Reflection; using System.Runtime.CompilerServices; From 5a4861b54871938da29cd43663f0ed1c0fbccedb Mon Sep 17 00:00:00 2001 From: Timothy Bruce Date: Tue, 8 Sep 2026 02:37:29 -0400 Subject: [PATCH 08/19] 1.0.0: fix license verifier project-name discovery --- packaging/VerifyLicenseHeaders.ps1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packaging/VerifyLicenseHeaders.ps1 b/packaging/VerifyLicenseHeaders.ps1 index 79aa0957a..9a6020757 100644 --- a/packaging/VerifyLicenseHeaders.ps1 +++ b/packaging/VerifyLicenseHeaders.ps1 @@ -9,9 +9,9 @@ function Get-ProjectAssemblyName { param( [Parameter( Mandatory = $true )][string] $ProjectPath ) [xml] $projectXml = Get-Content -LiteralPath $ProjectPath -Raw - $assemblyNameNode = $projectXml.Project.PropertyGroup.AssemblyName | Select-Object -First 1 - if ( $null -ne $assemblyNameNode -and -not [string]::IsNullOrWhiteSpace( [string] $assemblyNameNode ) ) { - return [string] $assemblyNameNode + $assemblyNameNode = $projectXml.SelectSingleNode( '/Project/PropertyGroup/AssemblyName' ) + if ( $null -ne $assemblyNameNode -and -not [string]::IsNullOrWhiteSpace( [string] $assemblyNameNode.InnerText ) ) { + return [string] $assemblyNameNode.InnerText } return [IO.Path]::GetFileNameWithoutExtension( $ProjectPath ) From 139b67be9a6dda562fe7b19a75815958d7b67627 Mon Sep 17 00:00:00 2001 From: Timothy Bruce Date: Tue, 8 Sep 2026 02:40:41 -0400 Subject: [PATCH 09/19] 1.0.0: remove temporary license header closure workflow --- .github/workflows/license-header-closure.yaml | 39 ------------------- 1 file changed, 39 deletions(-) delete mode 100644 .github/workflows/license-header-closure.yaml diff --git a/.github/workflows/license-header-closure.yaml b/.github/workflows/license-header-closure.yaml deleted file mode 100644 index 1aa3d0063..000000000 --- a/.github/workflows/license-header-closure.yaml +++ /dev/null @@ -1,39 +0,0 @@ -name: license-header-closure - -on: - push: - branches: - - 1.0.0-stable-squash - -permissions: - contents: write - -jobs: - apply: - if: ${{ !contains(github.event.head_commit.message, '[license-headers-applied]') }} - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - uses: actions/setup-dotnet@v4 - with: - dotnet-version: | - 8.0.x - 9.0.x - 10.0.x - - name: Apply project-appropriate license headers - shell: pwsh - run: ./packaging/ApplyLicenseHeaders.ps1 - - name: Commit generated license closure - shell: bash - run: | - git config user.name "github-actions[bot]" - git config user.email "41898282+github-actions[bot]@users.noreply.github.com" - git add '*.csproj' src tests samples tools - if git diff --cached --quiet; then - echo "No license header changes were required." - exit 0 - fi - git commit -m "1.0.0: apply GPL/LGPL source headers [license-headers-applied]" - git push origin HEAD:1.0.0-stable-squash From f8e9263142edfa0fcfdcfc0d5885ad9d7952102c Mon Sep 17 00:00:00 2001 From: Timothy Bruce Date: Tue, 8 Sep 2026 02:42:10 -0400 Subject: [PATCH 10/19] 1.0.0: enforce license headers in package candidate --- packaging/BuildPackageArtifact.ps1 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packaging/BuildPackageArtifact.ps1 b/packaging/BuildPackageArtifact.ps1 index e06c59781..c12577390 100644 --- a/packaging/BuildPackageArtifact.ps1 +++ b/packaging/BuildPackageArtifact.ps1 @@ -39,6 +39,8 @@ New-Item -ItemType Directory -Path $ArtifactDirectory -Force | Out-Null Push-Location $repositoryRoot try { + & (Join-Path $PSScriptRoot 'VerifyLicenseHeaders.ps1') + Write-Host '' Write-Host "=== Restore package project ($Configuration) ===" Invoke-DotNet -Arguments @('restore', $projectPath) From 8c43400a74d30425b9712773bd56c95bc2fc5a61 Mon Sep 17 00:00:00 2001 From: Timothy Bruce Date: Tue, 8 Sep 2026 02:42:28 -0400 Subject: [PATCH 11/19] 1.0.0: enforce license headers in local validation --- packaging/Invoke-Build.ps1 | 1 + 1 file changed, 1 insertion(+) diff --git a/packaging/Invoke-Build.ps1 b/packaging/Invoke-Build.ps1 index 9dcd546ee..07c145395 100644 --- a/packaging/Invoke-Build.ps1 +++ b/packaging/Invoke-Build.ps1 @@ -54,6 +54,7 @@ function Invoke-Pack { function Invoke-Validate { Write-Host '' Write-Host "=== Validate ($Configuration) ===" + & (Join-Path $PSScriptRoot 'VerifyLicenseHeaders.ps1') & (Join-Path $PSScriptRoot 'VerifyPackageArtifact.ps1') ` -ArtifactDirectory $artifactDirectory ` -Configuration $Configuration From 13fc3fd0f6d9da195aad5fe21dd6c640e188ef9e Mon Sep 17 00:00:00 2001 From: Timothy Bruce Date: Tue, 8 Sep 2026 02:42:36 -0400 Subject: [PATCH 12/19] 1.0.0: remove one-time license header application tool --- packaging/ApplyLicenseHeaders.ps1 | 195 ------------------------------ 1 file changed, 195 deletions(-) delete mode 100644 packaging/ApplyLicenseHeaders.ps1 diff --git a/packaging/ApplyLicenseHeaders.ps1 b/packaging/ApplyLicenseHeaders.ps1 deleted file mode 100644 index ddea5e4ac..000000000 --- a/packaging/ApplyLicenseHeaders.ps1 +++ /dev/null @@ -1,195 +0,0 @@ -param() - -Set-StrictMode -Version Latest -$ErrorActionPreference = 'Stop' - -$root = (Resolve-Path (Join-Path $PSScriptRoot '..')).Path -$utf8NoBom = [System.Text.UTF8Encoding]::new( $false ) - -function Get-ProjectAssemblyName { - param( [Parameter( Mandatory = $true )][string] $ProjectPath ) - - [xml] $projectXml = Get-Content -LiteralPath $ProjectPath -Raw - $assemblyNameNode = $projectXml.SelectSingleNode( '/Project/PropertyGroup/AssemblyName' ) - if ( $null -ne $assemblyNameNode -and -not [string]::IsNullOrWhiteSpace( [string] $assemblyNameNode.InnerText ) ) { - return [string] $assemblyNameNode.InnerText - } - - return [IO.Path]::GetFileNameWithoutExtension( $ProjectPath ) -} - -function Get-ProjectDescription { - param( [Parameter( Mandatory = $true )][string] $AssemblyName ) - - if ( $AssemblyName -eq 'Icod.Terminal' ) { - return 'Managed, cross-platform live-terminal session and terminal-control library for .NET.' - } - if ( $AssemblyName -eq 'Icod.Terminal.Tests' ) { - return 'Automated test suite for the Icod.Terminal library.' - } - if ( $AssemblyName -like '*.Sample' ) { - $topic = $AssemblyName.Replace( 'Icod.Terminal.', '' ).Replace( '.Sample', '' ) - return "Sample application demonstrating Icod.Terminal $topic features." - } - if ( $AssemblyName -like '*.DCurses*Acceptance' -or $AssemblyName -like '*.DCurses*Soak' ) { - return 'Downstream Icod.DCurses acceptance utility for Icod.Terminal integration contracts.' - } - if ( $AssemblyName -like '*.Package*Smoke' ) { - return 'Package smoke-test utility for Icod.Terminal release and compatibility contracts.' - } - if ( $AssemblyName -eq 'Icod.Terminal.PackageVerifier' ) { - return 'Package verification utility for Icod.Terminal release artifacts.' - } - if ( $AssemblyName -eq 'Icod.Terminal.PublicApiSnapshot' ) { - return 'Public API snapshot generator for the Icod.Terminal library.' - } - - return 'Validation utility for Icod.Terminal release and integration contracts.' -} - -function Get-LicenseKind { - param( [Parameter( Mandatory = $true )][string] $ProjectPath ) - - $relative = [IO.Path]::GetRelativePath( $root, $ProjectPath ).Replace( '\\', '/' ) - if ( $relative -eq 'Icod.Terminal.csproj' ) { - return 'LGPL' - } - - return 'GPL' -} - -function Get-CSharpHeader { - param( - [Parameter( Mandatory = $true )][string] $AssemblyName, - [Parameter( Mandatory = $true )][string] $Description, - [Parameter( Mandatory = $true )][ValidateSet( 'LGPL', 'GPL' )][string] $LicenseKind - ) - - $licenseName = if ( $LicenseKind -eq 'LGPL' ) { 'GNU Lesser General Public License' } else { 'GNU General Public License' } - - return @" -/* -`t$AssemblyName -`t$Description -`tCopyright (C) 2026 Timothy J. Bruce -*/ - -/* -`tThis program is free software: you can redistribute it and/or modify -`tit under the terms of the $licenseName as published by -`tthe Free Software Foundation, either version 3 of the License, or -`t(at your option) any later version. - -`tThis program is distributed in the hope that it will be useful, -`tbut WITHOUT ANY WARRANTY; without even the implied warranty of -`tMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -`t$licenseName for more details. - -`tYou should have received a copy of the $licenseName -`talong with this program. If not, see . -*/ - -"@ -} - -function Get-ProjectHeader { - param( - [Parameter( Mandatory = $true )][string] $AssemblyName, - [Parameter( Mandatory = $true )][string] $Description, - [Parameter( Mandatory = $true )][ValidateSet( 'LGPL', 'GPL' )][string] $LicenseKind - ) - - $licenseName = if ( $LicenseKind -eq 'LGPL' ) { 'GNU Lesser General Public License' } else { 'GNU General Public License' } - - return @" - - - - -"@ -} - -function Find-OwningProject { - param( [Parameter( Mandatory = $true )][string] $SourcePath ) - - $directory = Split-Path -Parent $SourcePath - while ( $directory.StartsWith( $root, [StringComparison]::OrdinalIgnoreCase ) ) { - $projects = @( Get-ChildItem -LiteralPath $directory -Filter '*.csproj' -File ) - if ( $projects.Count -eq 1 ) { - return $projects[ 0 ].FullName - } - if ( $projects.Count -gt 1 ) { - throw "Multiple owning projects found for '$SourcePath' in '$directory'." - } - - if ( $directory -eq $root ) { - break - } - $directory = Split-Path -Parent $directory - } - - if ( $SourcePath.StartsWith( (Join-Path $root 'src'), [StringComparison]::OrdinalIgnoreCase ) ) { - return Join-Path $root 'Icod.Terminal.csproj' - } - - throw "No owning project found for '$SourcePath'." -} - -$projects = @( Get-ChildItem -LiteralPath $root -Recurse -Filter '*.csproj' -File | Where-Object { - $_.FullName -notmatch '[\\/](bin|obj)[\\/]' -} ) - -foreach ( $project in $projects ) { - $content = [IO.File]::ReadAllText( $project.FullName ) - $assemblyName = Get-ProjectAssemblyName -ProjectPath $project.FullName - $description = Get-ProjectDescription -AssemblyName $assemblyName - $licenseKind = Get-LicenseKind -ProjectPath $project.FullName - - $content = $content -replace '^\uFEFF', '' - $content = $content -replace '^<\?xml version="1\.0" encoding="utf-8"\?>\r?\n', '' - if ( $content.Contains( 'Copyright (C) 2026 Timothy J. Bruce ' ) ) { - throw "Project '$($project.FullName)' already contains the target copyright header; refusing to duplicate it." - } - - $header = Get-ProjectHeader -AssemblyName $assemblyName -Description $description -LicenseKind $licenseKind - $newContent = "`n$header$content" - [IO.File]::WriteAllText( $project.FullName, $newContent.Replace( "`r`n", "`n" ), $utf8NoBom ) -} - -$sources = @( Get-ChildItem -LiteralPath $root -Recurse -Filter '*.cs' -File | Where-Object { - $_.FullName -notmatch '[\\/](bin|obj)[\\/]' -} ) - -foreach ( $source in $sources ) { - $content = [IO.File]::ReadAllText( $source.FullName ) - if ( $content.Contains( 'Copyright (C) 2026 Timothy J. Bruce ' ) ) { - throw "Source '$($source.FullName)' already contains the target copyright header; refusing to duplicate it." - } - - $projectPath = Find-OwningProject -SourcePath $source.FullName - $assemblyName = Get-ProjectAssemblyName -ProjectPath $projectPath - $description = Get-ProjectDescription -AssemblyName $assemblyName - $licenseKind = Get-LicenseKind -ProjectPath $projectPath - $header = Get-CSharpHeader -AssemblyName $assemblyName -Description $description -LicenseKind $licenseKind - $newContent = $header + $content.TrimStart( [char] 0xFEFF ) - [IO.File]::WriteAllText( $source.FullName, $newContent.Replace( "`r`n", "`n" ), $utf8NoBom ) -} - -Write-Host "Applied license headers to $($sources.Count) C# files and $($projects.Count) project files." From c51b33b8fcaf03c13061ef714fc934012e2444ce Mon Sep 17 00:00:00 2001 From: Timothy Bruce Date: Tue, 8 Sep 2026 02:42:58 -0400 Subject: [PATCH 13/19] 1.0.0: clarify basic sample license description --- samples/Icod.Terminal.Sample/Program.cs | 29 ++++++------------------- 1 file changed, 7 insertions(+), 22 deletions(-) diff --git a/samples/Icod.Terminal.Sample/Program.cs b/samples/Icod.Terminal.Sample/Program.cs index 051871d6e..71baeb2dc 100644 --- a/samples/Icod.Terminal.Sample/Program.cs +++ b/samples/Icod.Terminal.Sample/Program.cs @@ -1,6 +1,6 @@ /* Icod.Terminal.Sample - Sample application demonstrating Icod.Terminal Sample features. + Basic sample application demonstrating Icod.Terminal session usage. Copyright (C) 2026 Timothy J. Bruce */ @@ -28,27 +28,12 @@ You should have received a copy of the GNU General Public License } ); -TerminalControlResult sizeResult = session.GetSize(); -string sizeText; -if ( sizeResult.IsAvailable ) { - TerminalSize size = sizeResult.GetRequiredValue(); - sizeText = string.Concat( - size.Columns.ToString( System.Globalization.CultureInfo.InvariantCulture ), - "x", - size.Rows.ToString( System.Globalization.CultureInfo.InvariantCulture ) - ); -} else { - sizeText = sizeResult.Status.ToString(); -} +await session.WriteTextAsync( "Icod.Terminal sample ready.\r\n" ); -await session.WriteTextAsync( - string.Concat( - "Icod.Terminal session opened via ", - session.Identity.Source.ToString(), - "; size=", - sizeText, - ".\r\n" - ) +TerminalEvent terminalEvent = await session.ReadEventAsync( + TimeSpan.FromSeconds( 1 ) ); -return 0; +if ( terminalEvent.Kind == TerminalEventKind.Input ) { + await session.WriteTextAsync( $"Input: {terminalEvent.Input.Kind}\r\n" ); +} From 2b9e230d6ebbc5f417af3c9444dcc1eae1f03169 Mon Sep 17 00:00:00 2001 From: Timothy Bruce Date: Tue, 8 Sep 2026 02:43:12 -0400 Subject: [PATCH 14/19] 1.0.0: clarify basic sample project description --- samples/Icod.Terminal.Sample/Icod.Terminal.Sample.csproj | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/samples/Icod.Terminal.Sample/Icod.Terminal.Sample.csproj b/samples/Icod.Terminal.Sample/Icod.Terminal.Sample.csproj index 553d1bd6a..b629f3006 100644 --- a/samples/Icod.Terminal.Sample/Icod.Terminal.Sample.csproj +++ b/samples/Icod.Terminal.Sample/Icod.Terminal.Sample.csproj @@ -1,7 +1,7 @@ @@ -30,14 +30,11 @@ Icod.Terminal.Sample Icod.Terminal.Sample false - Debug;Staging;Release - - + - - + From 650e2f686de27bc80468468f319879e7c01b9796 Mon Sep 17 00:00:00 2001 From: Timothy Bruce Date: Tue, 8 Sep 2026 02:46:32 -0400 Subject: [PATCH 15/19] 1.0.0: verify exact GPL/LGPL header templates --- packaging/VerifyLicenseHeaders.ps1 | 128 ++++++++++++++++++++++++----- 1 file changed, 108 insertions(+), 20 deletions(-) diff --git a/packaging/VerifyLicenseHeaders.ps1 b/packaging/VerifyLicenseHeaders.ps1 index 9a6020757..371a0735c 100644 --- a/packaging/VerifyLicenseHeaders.ps1 +++ b/packaging/VerifyLicenseHeaders.ps1 @@ -17,6 +17,38 @@ function Get-ProjectAssemblyName { return [IO.Path]::GetFileNameWithoutExtension( $ProjectPath ) } +function Get-ProjectDescription { + param( [Parameter( Mandatory = $true )][string] $AssemblyName ) + + if ( $AssemblyName -eq 'Icod.Terminal' ) { + return 'Managed, cross-platform live-terminal session and terminal-control library for .NET.' + } + if ( $AssemblyName -eq 'Icod.Terminal.Tests' ) { + return 'Automated test suite for the Icod.Terminal library.' + } + if ( $AssemblyName -eq 'Icod.Terminal.Sample' ) { + return 'Basic sample application demonstrating Icod.Terminal session usage.' + } + if ( $AssemblyName -like '*.Sample' ) { + $topic = $AssemblyName.Replace( 'Icod.Terminal.', '' ).Replace( '.Sample', '' ) + return "Sample application demonstrating Icod.Terminal $topic features." + } + if ( $AssemblyName -like '*.DCurses*Acceptance' -or $AssemblyName -like '*.DCurses*Soak' ) { + return 'Downstream Icod.DCurses acceptance utility for Icod.Terminal integration contracts.' + } + if ( $AssemblyName -like '*.Package*Smoke' ) { + return 'Package smoke-test utility for Icod.Terminal release and compatibility contracts.' + } + if ( $AssemblyName -eq 'Icod.Terminal.PackageVerifier' ) { + return 'Package verification utility for Icod.Terminal release artifacts.' + } + if ( $AssemblyName -eq 'Icod.Terminal.PublicApiSnapshot' ) { + return 'Public API snapshot generator for the Icod.Terminal library.' + } + + return 'Validation utility for Icod.Terminal release and integration contracts.' +} + function Get-LicenseKind { param( [Parameter( Mandatory = $true )][string] $ProjectPath ) @@ -28,6 +60,73 @@ function Get-LicenseKind { return 'GPL' } +function Get-CSharpHeader { + param( + [Parameter( Mandatory = $true )][string] $AssemblyName, + [Parameter( Mandatory = $true )][string] $Description, + [Parameter( Mandatory = $true )][ValidateSet( 'LGPL', 'GPL' )][string] $LicenseKind + ) + + $licenseName = if ( $LicenseKind -eq 'LGPL' ) { 'GNU Lesser General Public License' } else { 'GNU General Public License' } + + return @" +/* +`t$AssemblyName +`t$Description +`tCopyright (C) 2026 Timothy J. Bruce +*/ + +/* +`tThis program is free software: you can redistribute it and/or modify +`tit under the terms of the $licenseName as published by +`tthe Free Software Foundation, either version 3 of the License, or +`t(at your option) any later version. + +`tThis program is distributed in the hope that it will be useful, +`tbut WITHOUT ANY WARRANTY; without even the implied warranty of +`tMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +`t$licenseName for more details. + +`tYou should have received a copy of the $licenseName +`talong with this program. If not, see . +*/ +"@ +} + +function Get-ProjectHeader { + param( + [Parameter( Mandatory = $true )][string] $AssemblyName, + [Parameter( Mandatory = $true )][string] $Description, + [Parameter( Mandatory = $true )][ValidateSet( 'LGPL', 'GPL' )][string] $LicenseKind + ) + + $licenseName = if ( $LicenseKind -eq 'LGPL' ) { 'GNU Lesser General Public License' } else { 'GNU General Public License' } + + return @" + + + + +"@ +} + function Find-OwningProject { param( [Parameter( Mandatory = $true )][string] $SourcePath ) @@ -53,7 +152,6 @@ function Find-OwningProject { throw "No owning project found for '$SourcePath'." } -$copyright = 'Copyright (C) 2026 Timothy J. Bruce ' $failures = [Collections.Generic.List[string]]::new() $projects = @( Get-ChildItem -LiteralPath $root -Recurse -Filter '*.csproj' -File | Where-Object { @@ -63,17 +161,12 @@ $projects = @( Get-ChildItem -LiteralPath $root -Recurse -Filter '*.csproj' -Fil foreach ( $project in $projects ) { $content = [IO.File]::ReadAllText( $project.FullName ).Replace( "`r`n", "`n" ) $assemblyName = Get-ProjectAssemblyName -ProjectPath $project.FullName + $description = Get-ProjectDescription -AssemblyName $assemblyName $licenseKind = Get-LicenseKind -ProjectPath $project.FullName - $licenseName = if ( $licenseKind -eq 'LGPL' ) { 'GNU Lesser General Public License' } else { 'GNU General Public License' } + $expectedHeader = Get-ProjectHeader -AssemblyName $assemblyName -Description $description -LicenseKind $licenseKind - if ( -not $content.StartsWith( "`n