diff --git a/internal/exp/diffview/Taskfile.yaml b/internal/exp/diffview/Taskfile.yaml index f27d093565d7e0e00fb265e21e3ccb2ce48c65b1..909837e10fff38c0309e55dc2c4b90d996b04d6e 100644 --- a/internal/exp/diffview/Taskfile.yaml +++ b/internal/exp/diffview/Taskfile.yaml @@ -100,3 +100,23 @@ tasks: - for: sources cmd: echo && echo "------- {{.ITEM}} -------" && echo && cat {{.ITEM}} silent: true + + test:print:yoffset:unified:infinite: + desc: Print golden files for debugging + method: none + sources: + - ./testdata/TestDiffViewYOffsetInfinite/Unified/*.golden + cmds: + - for: sources + cmd: echo && echo "------- {{.ITEM}} -------" && echo && cat {{.ITEM}} + silent: true + + test:print:yoffset:split:infinite: + desc: Print golden files for debugging + method: none + sources: + - ./testdata/TestDiffViewYOffsetInfinite/Split/*.golden + cmds: + - for: sources + cmd: echo && echo "------- {{.ITEM}} -------" && echo && cat {{.ITEM}} + silent: true diff --git a/internal/exp/diffview/diffview.go b/internal/exp/diffview/diffview.go index 3802b473c4da01f5e6a314b477deae65abde60bc..8c0d626090078749fc0b2b1669afab2f4fc7f32b 100644 --- a/internal/exp/diffview/diffview.go +++ b/internal/exp/diffview/diffview.go @@ -33,18 +33,19 @@ const ( // DiffView represents a view for displaying differences between two files. type DiffView struct { - layout layout - before file - after file - contextLines int - lineNumbers bool - height int - width int - xOffset int - yOffset int - style Style - tabWidth int - chromaStyle *chroma.Style + layout layout + before file + after file + contextLines int + lineNumbers bool + height int + width int + xOffset int + yOffset int + infiniteYScroll bool + style Style + tabWidth int + chromaStyle *chroma.Style isComputed bool err error @@ -53,6 +54,7 @@ type DiffView struct { splitHunks []splitHunk + totalLines int codeWidth int fullCodeWidth int // with leading symbols extraColOnAfter bool // add extra column on after panel @@ -138,6 +140,12 @@ func (dv *DiffView) YOffset(yOffset int) *DiffView { return dv } +// InfiniteYScroll allows the YOffset to scroll beyond the last line. +func (dv *DiffView) InfiniteYScroll(infiniteYScroll bool) *DiffView { + dv.infiniteYScroll = infiniteYScroll + return dv +} + // TabWidth sets the tab width. Only relevant for code that contains tabs, like // Go code. func (dv *DiffView) TabWidth(tabWidth int) *DiffView { @@ -161,6 +169,8 @@ func (dv *DiffView) String() string { dv.convertDiffToSplit() dv.adjustStyles() dv.detectNumDigits() + dv.detectTotalLines() + dv.preventInfiniteYScroll() if dv.width <= 0 { dv.detectCodeWidth() @@ -251,6 +261,37 @@ func (dv *DiffView) detectNumDigits() { } } +func (dv *DiffView) detectTotalLines() { + dv.totalLines = 0 + + switch dv.layout { + case layoutUnified: + for _, h := range dv.unified.Hunks { + dv.totalLines += 1 + len(h.Lines) + } + case layoutSplit: + for _, h := range dv.splitHunks { + dv.totalLines += 1 + len(h.lines) + } + } +} + +func (dv *DiffView) preventInfiniteYScroll() { + if dv.infiniteYScroll { + return + } + + // clamp yOffset to prevent scrolling beyond the last line + if dv.height > 0 { + maxYOffset := max(0, dv.totalLines-dv.height) + dv.yOffset = min(dv.yOffset, maxYOffset) + } else { + // if no height limit, ensure yOffset doesn't exceed total lines + dv.yOffset = min(dv.yOffset, max(0, dv.totalLines-1)) + } + dv.yOffset = max(0, dv.yOffset) // ensure yOffset is not negative +} + // detectCodeWidth calculates the maximum width of code lines in the diff view. func (dv *DiffView) detectCodeWidth() { switch dv.layout { diff --git a/internal/exp/diffview/diffview_test.go b/internal/exp/diffview/diffview_test.go index ed868b7574009e0275c43890d13c66e62174e9e5..d663ec6c04c3012dd08a60fe9c35cd295912b1bf 100644 --- a/internal/exp/diffview/diffview_test.go +++ b/internal/exp/diffview/diffview_test.go @@ -283,6 +283,33 @@ func TestDiffViewYOffset(t *testing.T) { } } +func TestDiffViewYOffsetInfinite(t *testing.T) { + for layoutName, layoutFunc := range LayoutFuncs { + t.Run(layoutName, func(t *testing.T) { + for yOffset := range 17 { + t.Run(fmt.Sprintf("YOffsetOf%02d", yOffset), func(t *testing.T) { + t.Parallel() + + dv := diffview.New(). + Before("main.go", TestMultipleHunksBefore). + After("main.go", TestMultipleHunksAfter). + Style(diffview.DefaultLightStyle()). + ChromaStyle(styles.Get("catppuccin-latte")). + Height(5). + YOffset(yOffset). + InfiniteYScroll(true) + dv = layoutFunc(dv) + + output := dv.String() + golden.RequireEqual(t, []byte(output)) + + assertHeight(t, 5, output) + }) + } + }) + } +} + func assertLineWidth(t *testing.T, expected int, output string) { var lineWidth int for line := range strings.SplitSeq(output, "\n") { diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf11.golden b/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf11.golden index fca02b528feae2e2620f53d77bdbdc55e06096f0..09c4fa2b1b7eb1941caf79650cd494e9b56727d0 100644 --- a/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf11.golden +++ b/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf11.golden @@ -1,5 +1,5 @@ + 10    11     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/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf12.golden b/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf12.golden index 5e347b97b1af201404fc830d47501dac3d6b8b36..09c4fa2b1b7eb1941caf79650cd494e9b56727d0 100644 --- a/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf12.golden +++ b/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf12.golden @@ -1,5 +1,5 @@ + 10    11    + 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/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf13.golden b/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf13.golden index 1496bd70374c1879a7b5a628ab923124242508c1..09c4fa2b1b7eb1941caf79650cd494e9b56727d0 100644 --- a/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf13.golden +++ b/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf13.golden @@ -1,5 +1,5 @@ + 10    11    + 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/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf14.golden b/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf14.golden index 80b0d239540b60cb3e84a3323a8085b86ad428fa..09c4fa2b1b7eb1941caf79650cd494e9b56727d0 100644 --- a/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf14.golden +++ b/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf14.golden @@ -1,5 +1,5 @@ - 13  }  15  }  -           -           -           -           \ No newline at end of file + 10    11    + 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 diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf15.golden b/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf15.golden index c989070ae313dcd1212208115acf3603671ceab6..09c4fa2b1b7eb1941caf79650cd494e9b56727d0 100644 --- a/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf15.golden +++ b/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf15.golden @@ -1,5 +1,5 @@ -           -           -           -           -           \ No newline at end of file + 10    11    + 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 diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf16.golden b/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf16.golden index c989070ae313dcd1212208115acf3603671ceab6..09c4fa2b1b7eb1941caf79650cd494e9b56727d0 100644 --- a/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf16.golden +++ b/internal/exp/diffview/testdata/TestDiffViewYOffset/Split/YOffsetOf16.golden @@ -1,5 +1,5 @@ -           -           -           -           -           \ No newline at end of file + 10    11    + 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 diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffset/Unified/YOffsetOf12.golden b/internal/exp/diffview/testdata/TestDiffViewYOffset/Unified/YOffsetOf12.golden index 1d8d95395c0e5900b270bb4d6f03ddef56f9bbe3..5f686c57c49ca7f7db94c766fff568f55725fa36 100644 --- a/internal/exp/diffview/testdata/TestDiffViewYOffset/Unified/YOffsetOf12.golden +++ b/internal/exp/diffview/testdata/TestDiffViewYOffset/Unified/YOffsetOf12.golden @@ -1,5 +1,5 @@ + 11  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/exp/diffview/testdata/TestDiffViewYOffset/Unified/YOffsetOf13.golden b/internal/exp/diffview/testdata/TestDiffViewYOffset/Unified/YOffsetOf13.golden index 469accfc86b39051e1f0d22944328f5ae0ddb911..5f686c57c49ca7f7db94c766fff568f55725fa36 100644 --- a/internal/exp/diffview/testdata/TestDiffViewYOffset/Unified/YOffsetOf13.golden +++ b/internal/exp/diffview/testdata/TestDiffViewYOffset/Unified/YOffsetOf13.golden @@ -1,5 +1,5 @@ + 11  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/exp/diffview/testdata/TestDiffViewYOffset/Unified/YOffsetOf14.golden b/internal/exp/diffview/testdata/TestDiffViewYOffset/Unified/YOffsetOf14.golden index 547e576181a8e1abe5d24f3fce8f5dce2988bb3c..5f686c57c49ca7f7db94c766fff568f55725fa36 100644 --- a/internal/exp/diffview/testdata/TestDiffViewYOffset/Unified/YOffsetOf14.golden +++ b/internal/exp/diffview/testdata/TestDiffViewYOffset/Unified/YOffsetOf14.golden @@ -1,5 +1,5 @@ + 11  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/exp/diffview/testdata/TestDiffViewYOffset/Unified/YOffsetOf15.golden b/internal/exp/diffview/testdata/TestDiffViewYOffset/Unified/YOffsetOf15.golden index 005a5ea98096a1a703fb31ccd9b6e94ee0fe874a..5f686c57c49ca7f7db94c766fff568f55725fa36 100644 --- a/internal/exp/diffview/testdata/TestDiffViewYOffset/Unified/YOffsetOf15.golden +++ b/internal/exp/diffview/testdata/TestDiffViewYOffset/Unified/YOffsetOf15.golden @@ -1,5 +1,5 @@ - 13  15  }  -         -         -         -         \ No newline at end of file + 11  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 diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffset/Unified/YOffsetOf16.golden b/internal/exp/diffview/testdata/TestDiffViewYOffset/Unified/YOffsetOf16.golden index 933f56b9d1fc148d6d394cb271299f4eddc0a739..5f686c57c49ca7f7db94c766fff568f55725fa36 100644 --- a/internal/exp/diffview/testdata/TestDiffViewYOffset/Unified/YOffsetOf16.golden +++ b/internal/exp/diffview/testdata/TestDiffViewYOffset/Unified/YOffsetOf16.golden @@ -1,5 +1,5 @@ -         -         -         -         -         \ No newline at end of file + 11  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 diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf00.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf00.golden new file mode 100644 index 0000000000000000000000000000000000000000..8d4a293fdd17ce5cbd8d709656573105a8cc7b09 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf00.golden @@ -0,0 +1,5 @@ +  …  @@ -2,6 +2,7 @@    …    +  2     2    +  3  import (   3  import (  +  4   "fmt"   4   "fmt"  +  …  …   …  …  \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf01.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf01.golden new file mode 100644 index 0000000000000000000000000000000000000000..59b706f531489a560427504d00b4ed513a2f0429 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf01.golden @@ -0,0 +1,5 @@ +  2     2    +  3  import (   3  import (  +  4   "fmt"   4   "fmt"  +       5 +  "strings"  +  …  …   …  …  \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf02.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf02.golden new file mode 100644 index 0000000000000000000000000000000000000000..a3e47b440f42bcadf6644a9ce09b4a3eced04193 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf02.golden @@ -0,0 +1,5 @@ +  3  import (   3  import (  +  4   "fmt"   4   "fmt"  +       5 +  "strings"  +  5  )   6  )  +  …  …   …  …  \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf03.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf03.golden new file mode 100644 index 0000000000000000000000000000000000000000..823ceecf70c4ba985ab52af71e5d73b502e486ef --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf03.golden @@ -0,0 +1,5 @@ +  4   "fmt"   4   "fmt"  +       5 +  "strings"  +  5  )   6  )  +  6     7    +  …  …   …  …  \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf04.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf04.golden new file mode 100644 index 0000000000000000000000000000000000000000..51cc05362f49e9733efb56c02af96d584ed3b507 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf04.golden @@ -0,0 +1,5 @@ +       5 +  "strings"  +  5  )   6  )  +  6     7    +  7  func main() {   8  func main() {  +  …  @@ -9,5 +10,6 @@    …    \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf05.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf05.golden new file mode 100644 index 0000000000000000000000000000000000000000..f8052af3a03a3e0d71c7e6914ae61e0cfe1cd208 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf05.golden @@ -0,0 +1,5 @@ +  5  )   6  )  +  6     7    +  7  func main() {   8  func main() {  +  …  @@ -9,5 +10,6 @@    …    +  …  …   …  …  \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf06.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf06.golden new file mode 100644 index 0000000000000000000000000000000000000000..00209b6b75b82c568e0f04349dd366a8c303b9e0 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf06.golden @@ -0,0 +1,5 @@ +  6     7    +  7  func main() {   8  func main() {  +  …  @@ -9,5 +10,6 @@    …    +  9  }  10  }  +  …  …   …  …  \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf07.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf07.golden new file mode 100644 index 0000000000000000000000000000000000000000..49f92c490c17a8d125f1a7ca6854573e72ef3e65 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf07.golden @@ -0,0 +1,5 @@ +  7  func main() {   8  func main() {  +  …  @@ -9,5 +10,6 @@    …    +  9  }  10  }  + 10    11    +  …  …   …  …  \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf08.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf08.golden new file mode 100644 index 0000000000000000000000000000000000000000..6f01089b12f29dff3c4a31bff325a543dc660355 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf08.golden @@ -0,0 +1,5 @@ +  …  @@ -9,5 +10,6 @@    …    +  9  }  10  }  + 10    11    + 11  func getContent() string {  12  func getContent() string {  +  …  …   …  …  \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf09.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf09.golden new file mode 100644 index 0000000000000000000000000000000000000000..d368d1e85520195ead3015f57012ffefa0502d0d --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf09.golden @@ -0,0 +1,5 @@ +  9  }  10  }  + 10    11    + 11  func getContent() string {  12  func getContent() string {  + 12 -  return "Hello, world!"  13 +  content := strings.ToUpper("Hello, World!")  +  …  …   …  …  \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf10.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf10.golden new file mode 100644 index 0000000000000000000000000000000000000000..09c4fa2b1b7eb1941caf79650cd494e9b56727d0 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf10.golden @@ -0,0 +1,5 @@ + 10    11    + 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 diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf11.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf11.golden new file mode 100644 index 0000000000000000000000000000000000000000..fca02b528feae2e2620f53d77bdbdc55e06096f0 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf11.golden @@ -0,0 +1,5 @@ + 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 diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf12.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf12.golden new file mode 100644 index 0000000000000000000000000000000000000000..5e347b97b1af201404fc830d47501dac3d6b8b36 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf12.golden @@ -0,0 +1,5 @@ + 12 -  return "Hello, world!"  13 +  content := strings.ToUpper("Hello, World!")  +      14 +  return content  + 13  }  15  }  +           +           \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf13.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf13.golden new file mode 100644 index 0000000000000000000000000000000000000000..1496bd70374c1879a7b5a628ab923124242508c1 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf13.golden @@ -0,0 +1,5 @@ +      14 +  return content  + 13  }  15  }  +           +           +           \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf14.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf14.golden new file mode 100644 index 0000000000000000000000000000000000000000..80b0d239540b60cb3e84a3323a8085b86ad428fa --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf14.golden @@ -0,0 +1,5 @@ + 13  }  15  }  +           +           +           +           \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf15.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf15.golden new file mode 100644 index 0000000000000000000000000000000000000000..c989070ae313dcd1212208115acf3603671ceab6 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf15.golden @@ -0,0 +1,5 @@ +           +           +           +           +           \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf16.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf16.golden new file mode 100644 index 0000000000000000000000000000000000000000..c989070ae313dcd1212208115acf3603671ceab6 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Split/YOffsetOf16.golden @@ -0,0 +1,5 @@ +           +           +           +           +           \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf00.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf00.golden new file mode 100644 index 0000000000000000000000000000000000000000..e11e6df667cfa9dc3d909f30fef8895c16dc85c2 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf00.golden @@ -0,0 +1,5 @@ +  …   …  @@ -2,6 +2,7 @@   +  2   2    +  3   3  import (  +  4   4   "fmt"  +  …   …  …  \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf01.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf01.golden new file mode 100644 index 0000000000000000000000000000000000000000..52c1ff0ee9ddec7f746590d4a5efd7630eb97fd4 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf01.golden @@ -0,0 +1,5 @@ +  2   2    +  3   3  import (  +  4   4   "fmt"  +     5 +  "strings"  +  …   …  …  \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf02.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf02.golden new file mode 100644 index 0000000000000000000000000000000000000000..0d3ef94eccf5119a182afaecfdf5ad85880d3271 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf02.golden @@ -0,0 +1,5 @@ +  3   3  import (  +  4   4   "fmt"  +     5 +  "strings"  +  5   6  )  +  …   …  …  \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf03.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf03.golden new file mode 100644 index 0000000000000000000000000000000000000000..37d7ae5851327dd0d05ecb6cfc8d1dcc447c0be7 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf03.golden @@ -0,0 +1,5 @@ +  4   4   "fmt"  +     5 +  "strings"  +  5   6  )  +  6   7    +  …   …  …  \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf04.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf04.golden new file mode 100644 index 0000000000000000000000000000000000000000..cdc84e4407a0ac070af67944cbf2b470182a865d --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf04.golden @@ -0,0 +1,5 @@ +     5 +  "strings"  +  5   6  )  +  6   7    +  7   8  func main() {  +  …   …  @@ -9,5 +10,6 @@   \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf05.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf05.golden new file mode 100644 index 0000000000000000000000000000000000000000..7d36fccbe412a8d49e3c1bc78ae91d2f5433e4de --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf05.golden @@ -0,0 +1,5 @@ +  5   6  )  +  6   7    +  7   8  func main() {  +  …   …  @@ -9,5 +10,6 @@   +  …   …  …  \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf06.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf06.golden new file mode 100644 index 0000000000000000000000000000000000000000..32c230ed26134c7427738a89829c8c511ea97922 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf06.golden @@ -0,0 +1,5 @@ +  6   7    +  7   8  func main() {  +  …   …  @@ -9,5 +10,6 @@   +  9  10  }  +  …   …  …  \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf07.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf07.golden new file mode 100644 index 0000000000000000000000000000000000000000..95f4c23477af7c7b87731b4170b96ce3bf94e755 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf07.golden @@ -0,0 +1,5 @@ +  7   8  func main() {  +  …   …  @@ -9,5 +10,6 @@   +  9  10  }  + 10  11    +  …   …  …  \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf08.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf08.golden new file mode 100644 index 0000000000000000000000000000000000000000..bf5e674b322acebb23134ff841fbbbfa27eeb752 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf08.golden @@ -0,0 +1,5 @@ +  …   …  @@ -9,5 +10,6 @@   +  9  10  }  + 10  11    + 11  12  func getContent() string {  +  …   …  …  \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf09.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf09.golden new file mode 100644 index 0000000000000000000000000000000000000000..ad0bfca4be7b761b73d833849de6b0c369d92586 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf09.golden @@ -0,0 +1,5 @@ +  9  10  }  + 10  11    + 11  12  func getContent() string {  + 12    -  return "Hello, world!"  +  …   …  …  \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf10.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf10.golden new file mode 100644 index 0000000000000000000000000000000000000000..5998ba6ec7df46f91fe969858c19559fe873c330 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf10.golden @@ -0,0 +1,5 @@ + 10  11    + 11  12  func getContent() string {  + 12    -  return "Hello, world!"  +    13 +  content := strings.ToUpper("Hello, World!")  +  …   …  …  \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf11.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf11.golden new file mode 100644 index 0000000000000000000000000000000000000000..5f686c57c49ca7f7db94c766fff568f55725fa36 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf11.golden @@ -0,0 +1,5 @@ + 11  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 diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf12.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf12.golden new file mode 100644 index 0000000000000000000000000000000000000000..1d8d95395c0e5900b270bb4d6f03ddef56f9bbe3 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf12.golden @@ -0,0 +1,5 @@ + 12    -  return "Hello, world!"  +    13 +  content := strings.ToUpper("Hello, World!")  +    14 +  return content  + 13  15  }  +         \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf13.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf13.golden new file mode 100644 index 0000000000000000000000000000000000000000..469accfc86b39051e1f0d22944328f5ae0ddb911 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf13.golden @@ -0,0 +1,5 @@ +    13 +  content := strings.ToUpper("Hello, World!")  +    14 +  return content  + 13  15  }  +         +         \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf14.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf14.golden new file mode 100644 index 0000000000000000000000000000000000000000..547e576181a8e1abe5d24f3fce8f5dce2988bb3c --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf14.golden @@ -0,0 +1,5 @@ +    14 +  return content  + 13  15  }  +         +         +         \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf15.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf15.golden new file mode 100644 index 0000000000000000000000000000000000000000..005a5ea98096a1a703fb31ccd9b6e94ee0fe874a --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf15.golden @@ -0,0 +1,5 @@ + 13  15  }  +         +         +         +         \ No newline at end of file diff --git a/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf16.golden b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf16.golden new file mode 100644 index 0000000000000000000000000000000000000000..933f56b9d1fc148d6d394cb271299f4eddc0a739 --- /dev/null +++ b/internal/exp/diffview/testdata/TestDiffViewYOffsetInfinite/Unified/YOffsetOf16.golden @@ -0,0 +1,5 @@ +         +         +         +         +         \ No newline at end of file