void TestDiffMatchPatch() { var s1 = @"//. using Au; using Au.Types; using System; using System.Collections.Generic; class Script : AScript { [STAThread] static void Main(string[] a) => new Script(a); Script(string[] args) { //;;; var s=""one""; "; var s2 = @"/*/ role exeProgram; outputPath %AFolders.Workspace%\bin; console true; /*/ //. using Au; using Au.Types; using System; using System.Collections.Generic; using My.NS1; //ąčę îôû using My.NS2; class Script : AScript { [STAThread] static void Main(string[] a) => new Script(a); Script(string[] args) { //;;; var i=2; "; var dmp = new diff_match_patch(); List <Diff> diff = dmp.diff_main(s1, s2, true); dmp.diff_cleanupSemantic(diff); var delta = dmp.diff_toDelta(diff); AOutput.Write(delta); AOutput.Write("----"); var d2 = dmp.diff_fromDelta(s1, delta); //AOutput.Write(d2); AOutput.Write(dmp.diff_text2(d2)); }