/// <summary> /// Computes differences. /// </summary> /// <param name="s1"></param> /// <param name="s2"></param> /// <param name="mode"></param> /// <returns></returns> public static DiffOutputText ComputeDifferences(string s1, string s2, DifferenceDisplayMode mode = DifferenceDisplayMode.PlainTextSeparated) { GoogleDMP.diff_match_patch dmp = new GoogleDMP.diff_match_patch(); List <GoogleDMP.Diff> diffs = dmp.diff_main(s1, s2); if (diffs == null || (diffs.Count == 1 && diffs[0].operation == GoogleDMP.Operation.EQUAL)) { return(new DiffOutputText { NumberOfDifferences = 0 }); } return(new DifferenceDisplayerFactory(mode).Create().ShowDifferences(diffs)); }
/// <summary> /// Initializes a new instance of the <see cref="DifferenceDisplayerFactory"/> class. /// </summary> /// <param name="mode"></param> public DifferenceDisplayerFactory(DifferenceDisplayMode mode) { this.mode = mode; }