@@ -131,12 +131,12 @@ func (dv *DiffView) String() string {
132 var b strings.Builder
132 var b strings.Builder
134− for i, h := range dv.unified.Hunks {
134+ for _, h := range dv.unified.Hunks {
135 if dv.lineNumbers {
135 if dv.lineNumbers {
136 b.WriteString(dv.style.DividerLine.LineNumber.Render(pad("…", beforeNumDigits)))
136 b.WriteString(dv.style.DividerLine.LineNumber.Render(pad("…", beforeNumDigits)))
137 b.WriteString(dv.style.DividerLine.LineNumber.Render(pad("…", afterNumDigits)))
137 b.WriteString(dv.style.DividerLine.LineNumber.Render(pad("…", afterNumDigits)))
139− b.WriteString(dv.style.DividerLine.Code.Width(codeWidth + leadingSymbolsSize).Render(dv.hunkLineFor(i)))
139+ b.WriteString(dv.style.DividerLine.Code.Width(codeWidth + leadingSymbolsSize).Render(dv.hunkLineFor(h)))
140 b.WriteRune('\n')
140 b.WriteRune('\n')
142 beforeLine := h.FromLine
142 beforeLine := h.FromLine
@@ -207,9 +207,8 @@ func (dv *DiffView) lineNumberDigits() (maxBefore, maxAfter int) {
210−func (dv *DiffView) hunkLineFor(i int) string {
210+func (dv *DiffView) hunkLineFor(h *udiff.Hunk) string {
211− h := dv.unified.Hunks[i]
212− beforeShownLines, afterShownLines := dv.hunkShownLines(i)
211+ beforeShownLines, afterShownLines := dv.hunkShownLines(h)
214 return fmt.Sprintf(
213 return fmt.Sprintf(
215 " @@ -%d,%d +%d,%d @@ ",
214 " @@ -%d,%d +%d,%d @@ ",
@@ -222,8 +221,8 @@ func (dv *DiffView) hunkLineFor(i int) string {
223// hunkShownLines calculates the number of lines shown in a hunk for both before
222// hunkShownLines calculates the number of lines shown in a hunk for both before
224// and after versions.
223// and after versions.
225−func (dv *DiffView) hunkShownLines(i int) (before, after int) {
224+func (dv *DiffView) hunkShownLines(h *udiff.Hunk) (before, after int) {
226− for _, l := range dv.unified.Hunks[i].Lines {
225+ for _, l := range h.Lines {
227 switch l.Kind {
226 switch l.Kind {
228 case udiff.Equal:
227 case udiff.Equal:
@@ -242,8 +241,8 @@ func (dv *DiffView) detectWidth() {
245− for i, h := range dv.unified.Hunks {
244+ for _, h := range dv.unified.Hunks {
246− shownLines := ansi.StringWidth(dv.hunkLineFor(i))
245+ shownLines := ansi.StringWidth(dv.hunkLineFor(h))
248 for _, l := range h.Lines {
247 for _, l := range h.Lines {
249 lineWidth := ansi.StringWidth(strings.TrimSuffix(l.Content, "\n"))
248 lineWidth := ansi.StringWidth(strings.TrimSuffix(l.Content, "\n"))