Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 14 additions & 3 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<PropertyGroup>
<VersionPrefix>1.1.0</VersionPrefix>
<VersionPrefix>1.1.1</VersionPrefix>
<Version>$(VersionPrefix)</Version>
<PackageVersion>$(VersionPrefix)</PackageVersion>
<AssemblyVersion>$(VersionPrefix).0</AssemblyVersion>
Expand Down
3 changes: 2 additions & 1 deletion Icod.LineEditor.Ed.Shared/Icod.LineEditor.Ed.Shared.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Icod.CommandFramework" Version="1.1.0" />
<PackageReference Include="Icod.CommandFramework" Version="2.1.0" />
<PackageReference Include="Icod.Processes" Version="1.2.0" />
</ItemGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<ErrorReport>prompt</ErrorReport>
Expand Down
2 changes: 1 addition & 1 deletion Icod.LineEditor.Ed.Shared/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
↓ ↓
Expand Down
Original file line number Diff line number Diff line change
@@ -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 {
}
Binary file added Icod.LineEditor.banner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 15 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -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)

Expand All @@ -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 |
Expand All @@ -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:
Expand Down Expand Up @@ -93,15 +103,15 @@ The permanent dependency direction is:

```text
Published neutral foundation
Icod.CommandFramework 1.1.0
Icod.CommandFramework 2.1.0
↓ PackageReference
┌──────────────────────────────┐
│ Icod.LineEditor.Ed.Shared │
└──────────────────────────────┘
↓ ProjectReference
ed red

Icod.CommandFramework 1.1.0
Icod.CommandFramework 2.1.0
↓ PackageReference
sed

Expand Down Expand Up @@ -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<semver>` 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.

Expand Down
2 changes: 1 addition & 1 deletion ed/Icod.LineEditor.Ed.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Icod.LineEditor.Ed.Shared\Icod.LineEditor.Ed.Shared.csproj" />
<PackageReference Include="Icod.CommandFramework" Version="1.1.0" />
<PackageReference Include="Icod.CommandFramework" Version="2.1.0" />
</ItemGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<ErrorReport>prompt</ErrorReport>
Expand Down
Binary file added icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions lineeditor/Icod.LineEditor.Router.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
<Description>Managed command router for the Icod.LineEditor ed, red, and sed tools.</Description>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageLicenseExpression>GPL-3.0-or-later</PackageLicenseExpression>
<PackageIcon>icon.png</PackageIcon>
<PackageTags>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</PackageTags>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\ed\Icod.LineEditor.Ed.csproj" />
Expand All @@ -26,6 +28,7 @@
<ItemGroup>
<Content Include="..\README.md" Link="README.md" Pack="true" PackagePath="\" />
<Content Include="..\LICENSE" Link="LICENSE" Pack="true" PackagePath="\" />
<None Include="..\icon.png" Pack="true" PackagePath="" />
</ItemGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<WarningLevel>2</WarningLevel>
Expand Down
2 changes: 1 addition & 1 deletion red/Icod.LineEditor.Red.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Icod.LineEditor.Ed.Shared\Icod.LineEditor.Ed.Shared.csproj" />
<PackageReference Include="Icod.CommandFramework" Version="1.1.0" />
<PackageReference Include="Icod.CommandFramework" Version="2.1.0" />
</ItemGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<ErrorReport>prompt</ErrorReport>
Expand Down
3 changes: 2 additions & 1 deletion sed/Icod.LineEditor.Sed.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Icod.CommandFramework" Version="1.1.0" />
<PackageReference Include="Icod.CommandFramework" Version="2.1.0" />
<PackageReference Include="Icod.Processes" Version="1.2.0" />
</ItemGroup>
<ItemGroup>
<InternalsVisibleTo Include="Icod.LineEditor.Sed.Tests" />
Expand Down
8 changes: 8 additions & 0 deletions sed/src/ProcessNamespaceCompatibility.cs
Original file line number Diff line number Diff line change
@@ -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 {
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Icod.LineEditor.Ed.Shared\Icod.LineEditor.Ed.Shared.csproj" />
<PackageReference Include="Icod.CommandFramework" Version="1.1.0" />
<PackageReference Include="Icod.CommandFramework" Version="2.1.0" />
</ItemGroup>
<ItemGroup>
<None Update="fixtures\**\*" CopyToOutputDirectory="PreserveNewest" />
Expand Down
2 changes: 1 addition & 1 deletion tests/Ed.Tests/Icod.LineEditor.Ed.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\ed\Icod.LineEditor.Ed.csproj" />
<PackageReference Include="Icod.CommandFramework" Version="1.1.0" />
<PackageReference Include="Icod.CommandFramework" Version="2.1.0" />
</ItemGroup>
<ItemGroup>
<None Include="..\Ed.Shared.Tests\fixtures\**\*" Link="fixtures\%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="PreserveNewest" />
Expand Down
2 changes: 1 addition & 1 deletion tests/Red.Tests/Icod.LineEditor.Red.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<ItemGroup>
<ProjectReference Include="..\..\red\Icod.LineEditor.Red.csproj" />
<ProjectReference Include="..\..\ed\Icod.LineEditor.Ed.csproj" />
<PackageReference Include="Icod.CommandFramework" Version="1.1.0" />
<PackageReference Include="Icod.CommandFramework" Version="2.1.0" />
</ItemGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<ErrorReport>prompt</ErrorReport>
Expand Down
2 changes: 1 addition & 1 deletion tests/Sed.Tests/Icod.LineEditor.Sed.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\sed\Icod.LineEditor.Sed.csproj" />
<PackageReference Include="Icod.CommandFramework" Version="1.1.0" />
<PackageReference Include="Icod.CommandFramework" Version="2.1.0" />
</ItemGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<ErrorReport>prompt</ErrorReport>
Expand Down
Loading