diff --git a/internal/tui/components/dialogs/permissions/permissions.go b/internal/tui/components/dialogs/permissions/permissions.go index 4ba4a1eda6df887acbee62fd18bfbeec0ffae134..5f6397810a7f7dbbd38b18bd0bb05a88d155985b 100644 --- a/internal/tui/components/dialogs/permissions/permissions.go +++ b/internal/tui/components/dialogs/permissions/permissions.go @@ -698,15 +698,14 @@ func (p *permissionDialogCmp) render() string { p.contentViewPort.SetWidth(p.width - 4) - // Get cached or generate content - contentFinal := p.getOrGenerateContent() - // Always set viewport content (the caching is handled in getOrGenerateContent) const minContentHeight = 9 - contentHeight := min( - max(minContentHeight, p.height-minContentHeight), - lipgloss.Height(contentFinal), - ) + + availableDialogHeight := max(minContentHeight, p.height-minContentHeight) + p.contentViewPort.SetHeight(availableDialogHeight) + contentFinal := p.getOrGenerateContent() + contentHeight := min(availableDialogHeight, lipgloss.Height(contentFinal)) + p.contentViewPort.SetHeight(contentHeight) p.contentViewPort.SetContent(contentFinal) diff --git a/internal/tui/exp/diffview/diffview.go b/internal/tui/exp/diffview/diffview.go index cda4b74b28843beda36bda17c4fbf29137017422..555e3bc821e064576bcc1af520030ba6d57270b8 100644 --- a/internal/tui/exp/diffview/diffview.go +++ b/internal/tui/exp/diffview/diffview.go @@ -500,19 +500,6 @@ outer: } } - for printedLines < dv.height { - if shouldWrite() { - ls := dv.style.MissingLine - if dv.lineNumbers { - b.WriteString(ls.LineNumber.Render(pad(" ", dv.beforeNumDigits))) - b.WriteString(ls.LineNumber.Render(pad(" ", dv.afterNumDigits))) - } - b.WriteString(ls.Code.Width(dv.fullCodeWidth).Render(" ")) - b.WriteRune('\n') - } - printedLines++ - } - return b.String() } @@ -670,22 +657,6 @@ outer: } } - for printedLines < dv.height { - if shouldWrite() { - ls := dv.style.MissingLine - if dv.lineNumbers { - b.WriteString(ls.LineNumber.Render(pad(" ", dv.beforeNumDigits))) - } - b.WriteString(ls.Code.Width(dv.fullCodeWidth).Render(" ")) - if dv.lineNumbers { - b.WriteString(ls.LineNumber.Render(pad(" ", dv.afterNumDigits))) - } - b.WriteString(ls.Code.Width(dv.fullCodeWidth + btoi(dv.extraColOnAfter)).Render(" ")) - b.WriteRune('\n') - } - printedLines++ - } - return b.String() } diff --git a/internal/tui/exp/diffview/diffview_test.go b/internal/tui/exp/diffview/diffview_test.go index c77c9e0e945072862aecdfbe5802e8093c5def83..de6eb301c9261fdbf2175ba061528b71e162ea40 100644 --- a/internal/tui/exp/diffview/diffview_test.go +++ b/internal/tui/exp/diffview/diffview_test.go @@ -249,8 +249,6 @@ func TestDiffViewHeight(t *testing.T) { output := dv.String() golden.RequireEqual(t, []byte(output)) - - assertHeight(t, height, output) }) } }) @@ -301,8 +299,6 @@ func TestDiffViewYOffset(t *testing.T) { output := dv.String() golden.RequireEqual(t, []byte(output)) - - assertHeight(t, 5, output) }) } }) @@ -328,8 +324,6 @@ func TestDiffViewYOffsetInfinite(t *testing.T) { output := dv.String() golden.RequireEqual(t, []byte(output)) - - assertHeight(t, 5, output) }) } }) diff --git a/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Split/HeightOf016.golden b/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Split/HeightOf016.golden index d1d117809967c1ae1d4b10ad10824c391c575a32..9dfd2891ab3ba67f956bc1b13e07cd743e35aef6 100644 --- a/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Split/HeightOf016.golden +++ b/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Split/HeightOf016.golden @@ -12,5 +12,4 @@  11  func getContent() string {  12  func getContent() string {   12 -  return "Hello, world!"  13 +  content := strings.ToUpper("Hello, World!")        14 +  return content  - 13  }  15  }  -           \ No newline at end of file + 13  }  15  }  \ No newline at end of file diff --git a/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Split/HeightOf017.golden b/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Split/HeightOf017.golden index ce3d2e00dbfa827d6dd13f7f2dfcba96c71fa3f8..9dfd2891ab3ba67f956bc1b13e07cd743e35aef6 100644 --- a/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Split/HeightOf017.golden +++ b/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Split/HeightOf017.golden @@ -12,6 +12,4 @@  11  func getContent() string {  12  func getContent() string {   12 -  return "Hello, world!"  13 +  content := strings.ToUpper("Hello, World!")        14 +  return content  - 13  }  15  }  -           -           \ No newline at end of file + 13  }  15  }  \ No newline at end of file diff --git a/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Split/HeightOf018.golden b/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Split/HeightOf018.golden index 2816e081dc2e48c7279c44e2fdab59d6a8a6b7f3..9dfd2891ab3ba67f956bc1b13e07cd743e35aef6 100644 --- a/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Split/HeightOf018.golden +++ b/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Split/HeightOf018.golden @@ -12,7 +12,4 @@  11  func getContent() string {  12  func getContent() string {   12 -  return "Hello, world!"  13 +  content := strings.ToUpper("Hello, World!")        14 +  return content  - 13  }  15  }  -           -           -           \ No newline at end of file + 13  }  15  }  \ No newline at end of file diff --git a/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Split/HeightOf019.golden b/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Split/HeightOf019.golden index 774d7124513556759e948e771841fc4ed4199684..9dfd2891ab3ba67f956bc1b13e07cd743e35aef6 100644 --- a/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Split/HeightOf019.golden +++ b/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Split/HeightOf019.golden @@ -12,8 +12,4 @@  11  func getContent() string {  12  func getContent() string {   12 -  return "Hello, world!"  13 +  content := strings.ToUpper("Hello, World!")        14 +  return content  - 13  }  15  }  -           -           -           -           \ No newline at end of file + 13  }  15  }  \ No newline at end of file diff --git a/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Split/HeightOf020.golden b/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Split/HeightOf020.golden index 9aa08b5f2b45ef8dd7f30d0c4c290841d31e1ff2..9dfd2891ab3ba67f956bc1b13e07cd743e35aef6 100644 --- a/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Split/HeightOf020.golden +++ b/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Split/HeightOf020.golden @@ -12,9 +12,4 @@  11  func getContent() string {  12  func getContent() string {   12 -  return "Hello, world!"  13 +  content := strings.ToUpper("Hello, World!")        14 +  return content  - 13  }  15  }  -           -           -           -           -           \ No newline at end of file + 13  }  15  }  \ No newline at end of file diff --git a/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Unified/HeightOf017.golden b/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Unified/HeightOf017.golden index d21fa9269446b628a51347d4940e6a3a6e1122e7..601742405296c42cd6ef8ae4ab4a20b4a9a7d764 100644 --- a/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Unified/HeightOf017.golden +++ b/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Unified/HeightOf017.golden @@ -13,5 +13,4 @@  12    -  return "Hello, world!"      13 +  content := strings.ToUpper("Hello, World!")      14 +  return content  - 13  15  }  -         \ No newline at end of file + 13  15  }  \ No newline at end of file diff --git a/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Unified/HeightOf018.golden b/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Unified/HeightOf018.golden index 6ce4dd6dae2779ae947eec220ba28244663751ae..601742405296c42cd6ef8ae4ab4a20b4a9a7d764 100644 --- a/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Unified/HeightOf018.golden +++ b/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Unified/HeightOf018.golden @@ -13,6 +13,4 @@  12    -  return "Hello, world!"      13 +  content := strings.ToUpper("Hello, World!")      14 +  return content  - 13  15  }  -         -         \ No newline at end of file + 13  15  }  \ No newline at end of file diff --git a/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Unified/HeightOf019.golden b/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Unified/HeightOf019.golden index aabfe04315a2ae8ff67c4ee42e6ca5d8bd171d8b..601742405296c42cd6ef8ae4ab4a20b4a9a7d764 100644 --- a/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Unified/HeightOf019.golden +++ b/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Unified/HeightOf019.golden @@ -13,7 +13,4 @@  12    -  return "Hello, world!"      13 +  content := strings.ToUpper("Hello, World!")      14 +  return content  - 13  15  }  -         -         -         \ No newline at end of file + 13  15  }  \ No newline at end of file diff --git a/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Unified/HeightOf020.golden b/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Unified/HeightOf020.golden index 7d6cb8931f16722b6a63c384f45b8b22d1d3aa24..601742405296c42cd6ef8ae4ab4a20b4a9a7d764 100644 --- a/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Unified/HeightOf020.golden +++ b/internal/tui/exp/diffview/testdata/TestDiffViewHeight/Unified/HeightOf020.golden @@ -13,8 +13,4 @@  12    -  return "Hello, world!"      13 +  content := strings.ToUpper("Hello, World!")      14 +  return content  - 13  15  }  -         -         -         -         \ No newline at end of file + 13  15  }  \ No newline at end of file diff --git a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf11.golden b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf11.golden index 65a88103081f6ab66e6bdcb5ee3854dc4b76b9fc..623e5cf00c658f954d9c3df71f9d32a2865b6f44 100644 --- a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf11.golden +++ b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf11.golden @@ -1,5 +1,4 @@  11  func getContent() string {  12  func getContent() string {   12 -  return "Hello, world!"  13 +  content := strings.ToUpper("Hello, World!")        14 +  return content  - 13  }  15  }  -           \ No newline at end of file + 13  }  15  }  \ No newline at end of file diff --git a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf12.golden b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf12.golden index 543ac2c286103505ce0bcfe54730f9e6b5aaab15..9eb555aa2637c22f3a1ca781a36fa49756a88f70 100644 --- a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf12.golden +++ b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf12.golden @@ -1,5 +1,3 @@  12 -  return "Hello, world!"  13 +  content := strings.ToUpper("Hello, World!")        14 +  return content  - 13  }  15  }  -           -           \ No newline at end of file + 13  }  15  }  \ No newline at end of file diff --git a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf13.golden b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf13.golden index 6d8f9d2ee28eac996f931186ab69527fbdb5869c..c3fa138df246e6774b37ee358fdb49b103339f65 100644 --- a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf13.golden +++ b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf13.golden @@ -1,5 +1,2 @@       14 +  return content  - 13  }  15  }  -           -           -           \ No newline at end of file + 13  }  15  }  \ No newline at end of file diff --git a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf14.golden b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf14.golden index 8953b980dde0b8bc5e0625f2bce50ab6580ae6af..11b0530129e1a30e8da7bb04ef6eebe822150570 100644 --- a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf14.golden +++ b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf14.golden @@ -1,5 +1 @@ - 13  }  15  }  -           -           -           -           \ No newline at end of file + 13  }  15  }  \ No newline at end of file diff --git a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf15.golden b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf15.golden index 3ec6c919be04c5a3787b63a184267ce6cbefe84f..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 --- a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf15.golden +++ b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf15.golden @@ -1,5 +0,0 @@ -           -           -           -           -           \ No newline at end of file diff --git a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf16.golden b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf16.golden index 3ec6c919be04c5a3787b63a184267ce6cbefe84f..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 --- a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf16.golden +++ b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf16.golden @@ -1,5 +0,0 @@ -           -           -           -           -           \ No newline at end of file diff --git a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf12.golden b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf12.golden index e3ff1510a8d171df1b77b0de9371c9f49eec3c56..214db37cd153776963d689ace9537c1d16a1b52f 100644 --- a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf12.golden +++ b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf12.golden @@ -1,5 +1,4 @@  12    -  return "Hello, world!"      13 +  content := strings.ToUpper("Hello, World!")      14 +  return content  - 13  15  }  -         \ No newline at end of file + 13  15  }  \ No newline at end of file diff --git a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf13.golden b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf13.golden index 4ba4c150f7c42c74bcfc1e6a9491c3bca278c2ab..f646c8723b64181e70c0734366be0e781043bbc7 100644 --- a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf13.golden +++ b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf13.golden @@ -1,5 +1,3 @@     13 +  content := strings.ToUpper("Hello, World!")      14 +  return content  - 13  15  }  -         -         \ No newline at end of file + 13  15  }  \ No newline at end of file diff --git a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf14.golden b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf14.golden index dd6b280851e7e1fd7c16f5ee328960dbf59f0ea4..df705472defd3a5ba032f15e78680d7a64f5acbf 100644 --- a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf14.golden +++ b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf14.golden @@ -1,5 +1,2 @@     14 +  return content  - 13  15  }  -         -         -         \ No newline at end of file + 13  15  }  \ No newline at end of file diff --git a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf15.golden b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf15.golden index d5989d13ee9e965779c66bdab0e0587347816110..c8029f8bbf6c195abe9483b2ffb44beece1a4f84 100644 --- a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf15.golden +++ b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf15.golden @@ -1,5 +1 @@ - 13  15  }  -         -         -         -         \ No newline at end of file + 13  15  }  \ No newline at end of file diff --git a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf16.golden b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf16.golden index a6fe41cba248742a8a8caaf40e68c55e719071e6..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 --- a/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf16.golden +++ b/internal/tui/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf16.golden @@ -1,5 +0,0 @@ -         -         -         -         -         \ No newline at end of file