CSharpDiff 0.0.6

There is a newer version of this package available.
See the version list below for details.
dotnet add package CSharpDiff --version 0.0.6                
NuGet\Install-Package CSharpDiff -Version 0.0.6                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CSharpDiff" Version="0.0.6" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CSharpDiff --version 0.0.6                
#r "nuget: CSharpDiff, 0.0.6"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install CSharpDiff as a Cake Addin
#addin nuget:?package=CSharpDiff&version=0.0.6

// Install CSharpDiff as a Cake Tool
#tool nuget:?package=CSharpDiff&version=0.0.6                

Quality Gate Status Coverage NuGet MIT licensed GitHub contributors

CSharpDiff

C# Diff with Unified Diff Support, this codebase is a port from the popular JS library jsdiff by kpdecker.

Warning

The only functionality implemented at this time is the unified diff. Everything is guaranteed to be a bit buggy.

Usage Example

Diff

Character
using CSharpDiff.Diff;

var diff = new Diff(new DiffOptions
{
    IgnoreCase = true
});
var result = diff.diff("New Value.", "New value.");
Line
using CSharpDiff.Diff;

var text1 = "Here im.\nRock you like old man.\nYeah";
var text2 = "Here im.\nRock you like hurricane.\nYeah";

var diff = new DiffLines();
var difference = diff.diff(text1, text2);
Sentence
using CSharpDiff.Diff;

var text1 = "Here im. Rock you like old man.";
var text2 = "Here im. Rock you like hurricane.";

var diff = new DiffSentence();
var difference = diff.diff(text1, text2);

Patch

Create
using CSharpDiff.Patch;

var text1 = "...";
var text2 = "...";

var ps = new Patch();
string patch = ps.create("filename1", "filename2", text1, text2, "header1", "header2", new PatchOptions());

Works Well With

Todo

  • Clean-up code (Code smells and bugs according to Sonar)
  • Patch
    • Create
    • Apply
    • Merge
    • Parse
  • Diff
    • Array (difficult, JS allows type mixing)
    • Base
    • Character
    • CSS
    • JSON
    • Line
    • Sentence
    • Word (Partial, issues with Regex in DiffWord.Tokenize)
  • Convert
    • XML
    • DMP

Contributing

Idk, just make a pull request.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.0.7 35,153 8/22/2022
0.0.6 411 8/22/2022
0.0.5 398 8/22/2022
0.0.4 372 8/21/2022
0.0.3 373 8/21/2022
0.0.2 374 8/21/2022
0.0.1 389 8/21/2022