diff --git a/src/Commands/Diff.cs b/src/Commands/Diff.cs index a16954a0..02fae1c3 100644 --- a/src/Commands/Diff.cs +++ b/src/Commands/Diff.cs @@ -252,10 +252,10 @@ namespace SourceGit.Commands foreach (var chunk in chunks) { if (chunk.DeletedCount > 0) - left.Highlights.Add(new Models.TextInlineRange(chunk.DeletedStart, chunk.DeletedCount)); + left.Highlights.Add(new Models.TextRange(chunk.DeletedStart, chunk.DeletedCount)); if (chunk.AddedCount > 0) - right.Highlights.Add(new Models.TextInlineRange(chunk.AddedStart, chunk.AddedCount)); + right.Highlights.Add(new Models.TextRange(chunk.AddedStart, chunk.AddedCount)); } } } diff --git a/src/Models/DiffResult.cs b/src/Models/DiffResult.cs index c109c289..dd0639c1 100644 --- a/src/Models/DiffResult.cs +++ b/src/Models/DiffResult.cs @@ -14,7 +14,7 @@ namespace SourceGit.Models Deleted, } - public class TextInlineRange(int p, int n) + public class TextRange(int p, int n) { public int Start { get; set; } = p; public int End { get; set; } = p + n - 1; @@ -26,7 +26,7 @@ namespace SourceGit.Models public string Content { get; set; } = ""; public int OldLineNumber { get; set; } = 0; public int NewLineNumber { get; set; } = 0; - public List Highlights { get; set; } = new List(); + public List Highlights { get; set; } = new List(); public bool NoNewLineEndOfFile { get; set; } = false; public string OldLine => OldLineNumber == 0 ? string.Empty : OldLineNumber.ToString(); @@ -49,11 +49,6 @@ namespace SourceGit.Models public bool HasChanges { get; set; } = false; public int IgnoredAdds { get; set; } = 0; public int IgnoredDeletes { get; set; } = 0; - - public bool IsInRange(int idx) - { - return idx >= StartLine - 1 && idx < EndLine; - } } public partial class TextDiff @@ -129,7 +124,11 @@ namespace SourceGit.Models var line = Lines[i]; if (line.Type != TextDiffLineType.Added) continue; - writer.WriteLine($"{(selection.IsInRange(i) ? "+" : " ")}{line.Content}"); + + if (i >= selection.StartLine - 1 && i < selection.EndLine) + writer.WriteLine($"+{line.Content}"); + else + writer.WriteLine($" {line.Content}"); } } else