private void UpdateDiffListOnCompareResultRecieved(CompareResult compareResult) { Diffs.Clear(); foreach (var file in compareResult.Files) { Diffs.Add(new CommitFileVm(file)); var commitFile = Diffs.Last(); _backgroundTaskRunner.AddToQueue(async() => await FetchDiffContent(new CommitFile(commitFile.GitHubCommitFile))); } }
public void AddPaddingAfterLastDiff(string nullPadding) { if (Diffs.Count == 0 || Diffs.Last().Operation != Operation.Equal) { // Add nullPadding equality. Diffs.Add(Diff.Equal(nullPadding)); Length1 += nullPadding.Length; Length2 += nullPadding.Length; } else if (nullPadding.Length > Diffs[Diffs.Count - 1].Text.Length) { // Grow last equality. var lastDiff = Diffs[Diffs.Count - 1]; var extraLength = nullPadding.Length - lastDiff.Text.Length; var text = lastDiff.Text + nullPadding.Substring(0, extraLength); Diffs[Diffs.Count - 1] = lastDiff.Replace(text); Length1 += extraLength; Length2 += extraLength; } }