diff --git a/.editorconfig b/.editorconfig index 4dd660d..4512c5a 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,7 +1,7 @@ root = true [*] -end_of_line = lf +end_of_line = crlf insert_final_newline = true trim_trailing_whitespace = true charset = utf-8 @@ -10,9 +10,17 @@ indent_size = 4 quote_type = double max_line_length = 120 +[*.yaml] +end_of_line = crlf +insert_final_newline = true +trim_trailing_whitespace = true +charset = utf-8 +indent_style = space +indent_size = 2 + [*.{cs,csproj,props,targets,xml}] end_of_line = crlf -insert_final_newline = false +insert_final_newline = true trim_trailing_whitespace = true charset = utf-8 indent_style = tab @@ -21,7 +29,10 @@ tab_width = 4 [*.cs] # C# style preferences -csharp_new_line_before_open_brace = all:warning +csharp_new_line_before_open_brace = none:warning +csharp_new_line_before_else = false:warning +csharp_new_line_before_catch = false:warning +csharp_new_line_before_finally = false:warning csharp_prefer_braces = true:warning csharp_style_expression_bodied_methods = when_possible:suggestion csharp_style_expression_bodied_properties = when_possible:suggestion diff --git a/Directory.Build.props b/Directory.Build.props index 2d7bcbe..2ee8f3d 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,7 +1,7 @@ - 1.1.0 + 1.1.1 $(VersionPrefix) $(VersionPrefix) $(VersionPrefix).0 diff --git a/Icod.LineEditor.Ed.Shared/Icod.LineEditor.Ed.Shared.csproj b/Icod.LineEditor.Ed.Shared/Icod.LineEditor.Ed.Shared.csproj index b691a5f..12d98b7 100644 --- a/Icod.LineEditor.Ed.Shared/Icod.LineEditor.Ed.Shared.csproj +++ b/Icod.LineEditor.Ed.Shared/Icod.LineEditor.Ed.Shared.csproj @@ -15,7 +15,8 @@ AnyCPU - + + prompt diff --git a/Icod.LineEditor.Ed.Shared/README.md b/Icod.LineEditor.Ed.Shared/README.md index 4518a0a..75e9cc0 100644 --- a/Icod.LineEditor.Ed.Shared/README.md +++ b/Icod.LineEditor.Ed.Shared/README.md @@ -25,7 +25,7 @@ The permanent repository boundary is: ```text Published neutral foundation - Icod.CommandFramework 1.1.0 + Icod.CommandFramework 2.1.0 ↓ PackageReference Icod.LineEditor.Ed.Shared ↓ ↓ diff --git a/Icod.LineEditor.Ed.Shared/src/ProcessNamespaceCompatibility.cs b/Icod.LineEditor.Ed.Shared/src/ProcessNamespaceCompatibility.cs new file mode 100644 index 0000000..1e1c779 --- /dev/null +++ b/Icod.LineEditor.Ed.Shared/src/ProcessNamespaceCompatibility.cs @@ -0,0 +1,8 @@ +global using Icod.Processes; + +// Icod.CommandFramework 2.1.0 extracted process execution to Icod.Processes. +// Keep the former namespace resolvable while the LineEditor sources migrate +// their existing using directives; process types are supplied by the global +// Icod.Processes import above. +namespace Icod.CommandFramework.Processes { +} diff --git a/Icod.LineEditor.banner.png b/Icod.LineEditor.banner.png new file mode 100644 index 0000000..21c8046 Binary files /dev/null and b/Icod.LineEditor.banner.png differ diff --git a/README.md b/README.md index 164a1de..20b0354 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Icod.LineEditor +![Icod.LineEditor](https://raw.githubusercontent.com/uniblab/Icod.LineEditor/main/Icod.LineEditor.banner.png) + [![PR Staging build](https://github.com/uniblab/Icod.LineEditor/actions/workflows/pull-request.yaml/badge.svg?event=pull_request)](https://github.com/uniblab/Icod.LineEditor/actions/workflows/pull-request.yaml) [![Main Release validation](https://github.com/uniblab/Icod.LineEditor/actions/workflows/main.yaml/badge.svg?branch=main)](https://github.com/uniblab/Icod.LineEditor/actions/workflows/main.yaml) @@ -9,6 +11,14 @@ The repository targets .NET 10 and C# 13 and is designed for Windows, Linux, and This repository is the permanent home of the LineEditor family extracted from the former multi-suite `Icod.CoreUtils` development repository during Completion Gate G7. +## SEO keywords and repository topics + +The canonical discovery vocabulary for the NuGet package and GitHub repository is: + +`dotnet`, `csharp`, `line-editor`, `text-editor`, `stream-editor`, `ed`, `red`, `sed`, `gnu`, `unix`, `linux`, `windows`, `macos`, `cross-platform`, `command-line`, `cli`, `terminal`, `text-processing`, `regex`, `posix`. + +The same terms are emitted as `PackageTags` by `Icod.LineEditor.Tools` so package and repository discovery stay aligned. + ## Included commands | Command | Purpose | @@ -30,10 +40,10 @@ It calls the managed command implementations directly and does not spawn the sta ## Installation and distribution -The distribution router is published as the .NET tool package `Icod.LineEditor.Tools`. Install version `1.1.0` with: +The distribution router is published as the .NET tool package `Icod.LineEditor.Tools`. Install version `1.1.1` with: ```text -dotnet tool install --global Icod.LineEditor.Tools --version 1.1.0 +dotnet tool install --global Icod.LineEditor.Tools --version 1.1.1 ``` The installed command is: @@ -93,7 +103,7 @@ The permanent dependency direction is: ```text Published neutral foundation - Icod.CommandFramework 1.1.0 + Icod.CommandFramework 2.1.0 ↓ PackageReference ┌──────────────────────────────┐ │ Icod.LineEditor.Ed.Shared │ @@ -101,7 +111,7 @@ Published neutral foundation ↓ ProjectReference ed red - Icod.CommandFramework 1.1.0 + Icod.CommandFramework 2.1.0 ↓ PackageReference sed @@ -173,7 +183,7 @@ The solution defines `Debug`, `Staging`, and `Release` configurations. Release b ## Versioning -Repository versioning is centralized in the root [`Directory.Build.props`](Directory.Build.props). `VersionPrefix` is the single authoritative release-version literal and is currently `1.1.0`. `Version`, `PackageVersion`, `AssemblyVersion`, and `FileVersion` are derived from it for projects in the repository. +Repository versioning is centralized in the root [`Directory.Build.props`](Directory.Build.props). `VersionPrefix` is the single authoritative release-version literal and is currently `1.1.1`. `Version`, `PackageVersion`, `AssemblyVersion`, and `FileVersion` are derived from it for projects in the repository. For a tagged release, the `v` tag must agree with the generated NuGet package version. The release workflow selects packages by their actual nuspec version, so a mismatched tag cannot silently publish a differently versioned package. diff --git a/ed/Icod.LineEditor.Ed.csproj b/ed/Icod.LineEditor.Ed.csproj index 3b95893..59f62cc 100644 --- a/ed/Icod.LineEditor.Ed.csproj +++ b/ed/Icod.LineEditor.Ed.csproj @@ -17,7 +17,7 @@ - + prompt diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..6258ecf Binary files /dev/null and b/icon.png differ diff --git a/lineeditor/Icod.LineEditor.Router.csproj b/lineeditor/Icod.LineEditor.Router.csproj index c32591f..90ff584 100644 --- a/lineeditor/Icod.LineEditor.Router.csproj +++ b/lineeditor/Icod.LineEditor.Router.csproj @@ -17,6 +17,8 @@ Managed command router for the Icod.LineEditor ed, red, and sed tools. README.md GPL-3.0-or-later + icon.png + dotnet;csharp;line-editor;text-editor;stream-editor;ed;red;sed;gnu;unix;linux;windows;macos;cross-platform;command-line;cli;terminal;text-processing;regex;posix;icod @@ -26,6 +28,7 @@ + 2 diff --git a/red/Icod.LineEditor.Red.csproj b/red/Icod.LineEditor.Red.csproj index 63b0408..3da5a72 100644 --- a/red/Icod.LineEditor.Red.csproj +++ b/red/Icod.LineEditor.Red.csproj @@ -17,7 +17,7 @@ - + prompt diff --git a/sed/Icod.LineEditor.Sed.csproj b/sed/Icod.LineEditor.Sed.csproj index 7062d92..f1d01de 100644 --- a/sed/Icod.LineEditor.Sed.csproj +++ b/sed/Icod.LineEditor.Sed.csproj @@ -16,7 +16,8 @@ AnyCPU - + + diff --git a/sed/src/ProcessNamespaceCompatibility.cs b/sed/src/ProcessNamespaceCompatibility.cs new file mode 100644 index 0000000..70ad028 --- /dev/null +++ b/sed/src/ProcessNamespaceCompatibility.cs @@ -0,0 +1,8 @@ +global using Icod.Processes; + +// Icod.CommandFramework 2.1.0 extracted process execution to Icod.Processes. +// Keep the former namespace resolvable while the Sed partials migrate their +// existing using directives; process types are supplied by the global +// Icod.Processes import above. +namespace Icod.CommandFramework.Processes { +} diff --git a/tests/Ed.Shared.Tests/Icod.LineEditor.Ed.Shared.Tests.csproj b/tests/Ed.Shared.Tests/Icod.LineEditor.Ed.Shared.Tests.csproj index 5c7fe6b..1dea93d 100644 --- a/tests/Ed.Shared.Tests/Icod.LineEditor.Ed.Shared.Tests.csproj +++ b/tests/Ed.Shared.Tests/Icod.LineEditor.Ed.Shared.Tests.csproj @@ -20,7 +20,7 @@ - + diff --git a/tests/Ed.Tests/Icod.LineEditor.Ed.Tests.csproj b/tests/Ed.Tests/Icod.LineEditor.Ed.Tests.csproj index 7b484c5..1a16793 100644 --- a/tests/Ed.Tests/Icod.LineEditor.Ed.Tests.csproj +++ b/tests/Ed.Tests/Icod.LineEditor.Ed.Tests.csproj @@ -20,7 +20,7 @@ - + diff --git a/tests/Red.Tests/Icod.LineEditor.Red.Tests.csproj b/tests/Red.Tests/Icod.LineEditor.Red.Tests.csproj index 52d382d..40b2064 100644 --- a/tests/Red.Tests/Icod.LineEditor.Red.Tests.csproj +++ b/tests/Red.Tests/Icod.LineEditor.Red.Tests.csproj @@ -21,7 +21,7 @@ - + prompt diff --git a/tests/Sed.Tests/Icod.LineEditor.Sed.Tests.csproj b/tests/Sed.Tests/Icod.LineEditor.Sed.Tests.csproj index 7f12281..97b33d5 100644 --- a/tests/Sed.Tests/Icod.LineEditor.Sed.Tests.csproj +++ b/tests/Sed.Tests/Icod.LineEditor.Sed.Tests.csproj @@ -19,7 +19,7 @@ - + prompt