From 297a020abf806173d5e3bbf28deb98323b9037e5 Mon Sep 17 00:00:00 2001 From: Stefan Haller Date: Fri, 18 Aug 2023 16:50:07 +0200 Subject: [PATCH] Call getDisplayStrings with a valid range of model indices It's nicer if clients can rely on the indices being valid, and don't have to clamp themselves. --- pkg/gui/context/list_context_trait.go | 2 +- pkg/gui/presentation/commits.go | 9 ++++----- pkg/gui/presentation/commits_test.go | 6 +++--- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/pkg/gui/context/list_context_trait.go b/pkg/gui/context/list_context_trait.go index 827ba2c11..7cb13b0aa 100644 --- a/pkg/gui/context/list_context_trait.go +++ b/pkg/gui/context/list_context_trait.go @@ -63,7 +63,7 @@ func (self *ListContextTrait) renderLines(startIdx int, endIdx int) string { columnAlignments = self.getColumnAlignments() } return utils.RenderDisplayStrings( - self.getDisplayStrings(startIdx, endIdx), + self.getDisplayStrings(startIdx, utils.Min(endIdx, self.list.Len())), columnAlignments) } diff --git a/pkg/gui/presentation/commits.go b/pkg/gui/presentation/commits.go index 6bf711cce..6ae04f95a 100644 --- a/pkg/gui/presentation/commits.go +++ b/pkg/gui/presentation/commits.go @@ -68,11 +68,10 @@ func GetCommitListDisplayStrings( return nil } - end := utils.Min(endIdx, len(commits)) // this is where my non-TODO commits begin - rebaseOffset := utils.Min(indexOfFirstNonTODOCommit(commits), end) + rebaseOffset := utils.Min(indexOfFirstNonTODOCommit(commits), endIdx) - filteredCommits := commits[startIdx:end] + filteredCommits := commits[startIdx:endIdx] bisectBounds := getbisectBounds(commits, bisectInfo) @@ -85,8 +84,8 @@ func GetCommitListDisplayStrings( pipeSets := loadPipesets(commits[rebaseOffset:]) pipeSetOffset := utils.Max(startIdx-rebaseOffset, 0) - graphPipeSets := pipeSets[pipeSetOffset:utils.Max(end-rebaseOffset, 0)] - graphCommits := commits[graphOffset:end] + graphPipeSets := pipeSets[pipeSetOffset:utils.Max(endIdx-rebaseOffset, 0)] + graphCommits := commits[graphOffset:endIdx] graphLines := graph.RenderAux( graphPipeSets, graphCommits, diff --git a/pkg/gui/presentation/commits_test.go b/pkg/gui/presentation/commits_test.go index a25e004f5..493260ad2 100644 --- a/pkg/gui/presentation/commits_test.go +++ b/pkg/gui/presentation/commits_test.go @@ -247,7 +247,7 @@ func TestGetCommitListDisplayStrings(t *testing.T) { {Name: "commit5", Sha: "sha5", Parents: []string{"sha7"}}, }, startIdx: 1, - endIdx: 11, + endIdx: 5, showGraph: true, bisectInfo: git_commands.NewNullBisectInfo(), cherryPickedCommitShaSet: set.New[string](), @@ -312,7 +312,7 @@ func TestGetCommitListDisplayStrings(t *testing.T) { {Name: "commit5", Sha: "sha5", Parents: []string{"sha7"}}, }, startIdx: 4, - endIdx: 6, + endIdx: 5, showGraph: true, bisectInfo: git_commands.NewNullBisectInfo(), cherryPickedCommitShaSet: set.New[string](), @@ -351,7 +351,7 @@ func TestGetCommitListDisplayStrings(t *testing.T) { {Name: "commit3", Sha: "sha3", Parents: []string{"sha4"}}, }, startIdx: 0, - endIdx: 5, + endIdx: 3, showGraph: true, bisectInfo: git_commands.NewNullBisectInfo(), cherryPickedCommitShaSet: set.New[string](),