From c1a01b2fc706674f299399af6e0e38b6ae1c95ae Mon Sep 17 00:00:00 2001 From: leo Date: Mon, 1 Dec 2025 19:56:59 +0800 Subject: [PATCH] code_style: refactor datas used by text diff result Signed-off-by: leo --- src/Commands/Diff.cs | 4 ++-- src/Models/DiffResult.cs | 15 +++++++-------- 2 files changed, 9 insertions(+), 10 deletions(-) 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