Detailed changes
@@ -137,7 +137,12 @@ func (dv *DiffView) String() string {
dv.convertDiffToSplit()
dv.adjustStyles()
dv.detectNumDigits()
- dv.detectCodeWidth()
+
+ if dv.width <= 0 {
+ dv.detectCodeWidth()
+ } else {
+ dv.resizeCodeWidth()
+ }
switch dv.layout {
case layoutUnified:
@@ -254,6 +259,21 @@ func (dv *DiffView) detectSplitCodeWidth() {
}
}
+// resizeCodeWidth resizes the code width to fit within the specified width.
+func (dv *DiffView) resizeCodeWidth() {
+ fullNumWidth := dv.beforeNumDigits + dv.afterNumDigits
+ fullNumWidth += lineNumPadding * 4 // left and right padding for both line numbers
+
+ switch dv.layout {
+ case layoutUnified:
+ dv.codeWidth = dv.width - fullNumWidth - leadingSymbolsSize
+ case layoutSplit:
+ dv.codeWidth = (dv.width - fullNumWidth - leadingSymbolsSize*2) / 2
+ }
+
+ dv.fullCodeWidth = dv.codeWidth + leadingSymbolsSize
+}
+
// renderUnified renders the unified diff view as a string.
func (dv *DiffView) renderUnified() string {
var b strings.Builder
@@ -263,7 +283,8 @@ func (dv *DiffView) renderUnified() string {
b.WriteString(dv.style.DividerLine.LineNumber.Render(pad("ā¦", dv.beforeNumDigits)))
b.WriteString(dv.style.DividerLine.LineNumber.Render(pad("ā¦", dv.afterNumDigits)))
}
- b.WriteString(dv.style.DividerLine.Code.Width(dv.fullCodeWidth).Render(dv.hunkLineFor(h)))
+ content := ansi.Truncate(dv.hunkLineFor(h), dv.fullCodeWidth, "ā¦")
+ b.WriteString(dv.style.DividerLine.Code.Width(dv.fullCodeWidth).Render(content))
b.WriteRune('\n')
beforeLine := h.FromLine
@@ -271,6 +292,7 @@ func (dv *DiffView) renderUnified() string {
for _, l := range h.Lines {
content := strings.TrimSuffix(l.Content, "\n")
+ content = ansi.Truncate(content, dv.codeWidth, "ā¦")
switch l.Kind {
case udiff.Equal:
@@ -313,7 +335,8 @@ func (dv *DiffView) renderSplit() string {
if dv.lineNumbers {
b.WriteString(dv.style.DividerLine.LineNumber.Render(pad("ā¦", dv.beforeNumDigits)))
}
- b.WriteString(dv.style.DividerLine.Code.Width(dv.fullCodeWidth).Render(dv.hunkLineFor(dv.unified.Hunks[i])))
+ content := ansi.Truncate(dv.hunkLineFor(dv.unified.Hunks[i]), dv.fullCodeWidth, "ā¦")
+ b.WriteString(dv.style.DividerLine.Code.Width(dv.fullCodeWidth).Render(content))
if dv.lineNumbers {
b.WriteString(dv.style.DividerLine.LineNumber.Render(pad("ā¦", dv.afterNumDigits)))
}
@@ -328,9 +351,11 @@ func (dv *DiffView) renderSplit() string {
var afterContent string
if l.before != nil {
beforeContent = strings.TrimSuffix(l.before.Content, "\n")
+ beforeContent = ansi.Truncate(beforeContent, dv.codeWidth, "ā¦")
}
if l.after != nil {
afterContent = strings.TrimSuffix(l.after.Content, "\n")
+ afterContent = ansi.Truncate(afterContent, dv.codeWidth, "ā¦")
}
switch {
@@ -2,8 +2,10 @@ package diffview_test
import (
_ "embed"
+ "strings"
"testing"
+ "github.com/charmbracelet/x/ansi"
"github.com/charmbracelet/x/exp/golden"
"github.com/opencode-ai/opencode/internal/exp/diffview"
)
@@ -66,6 +68,18 @@ var (
Before("text.txt", TestNarrowBefore).
After("text.txt", TestNarrowAfter)
}
+ SmallWidthFunc = func(dv *diffview.DiffView) *diffview.DiffView {
+ return dv.
+ Before("text.txt", TestMultipleHunksBefore).
+ After("text.txt", TestMultipleHunksAfter).
+ Width(40)
+ }
+ LargeWidthFunc = func(dv *diffview.DiffView) *diffview.DiffView {
+ return dv.
+ Before("text.txt", TestMultipleHunksBefore).
+ After("text.txt", TestMultipleHunksAfter).
+ Width(120)
+ }
LightModeFunc = func(dv *diffview.DiffView) *diffview.DiffView {
return dv.Style(diffview.DefaultLightStyle)
@@ -84,6 +98,8 @@ var (
"MultipleHunks": MultipleHunksFunc,
"CustomContextLines": CustomContextLinesFunc,
"Narrow": NarrowFunc,
+ "SmallWidth": SmallWidthFunc,
+ "LargeWidth": LargeWidthFunc,
}
ThemeFuncs = TestFuncs{
"LightMode": LightModeFunc,
@@ -102,7 +118,16 @@ func TestDiffView(t *testing.T) {
dv = layoutFunc(dv)
dv = behaviorFunc(dv)
dv = themeFunc(dv)
- golden.RequireEqual(t, []byte(dv.String()))
+
+ output := dv.String()
+ golden.RequireEqual(t, []byte(output))
+
+ switch behaviorName {
+ case "SmallWidth":
+ assertLineWidth(t, 40, output)
+ case "LargeWidth":
+ assertLineWidth(t, 120, output)
+ }
})
}
})
@@ -110,3 +135,13 @@ func TestDiffView(t *testing.T) {
})
}
}
+
+func assertLineWidth(t *testing.T, expected int, output string) {
+ var lineWidth int
+ for line := range strings.SplitSeq(output, "\n") {
+ lineWidth = max(lineWidth, ansi.StringWidth(line))
+ }
+ if lineWidth != expected {
+ t.Errorf("expected output width to be == %d, got %d", expected, lineWidth)
+ }
+}
@@ -0,0 +1,15 @@
+[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;73;73;255m ā¦[m[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;51;49;178m @@ -2,6 +2,7 @@ [m[48;2;51;49;178m [m[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;73;73;255m ā¦[m[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;51;49;178m [m[48;2;51;49;178m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 2[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m [m[48;2;32;31;38m [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 2[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m [m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 3[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m import ([m[48;2;32;31;38m [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 3[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m import ([m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 4[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m "fmt"[m[48;2;32;31;38m [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 4[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m "fmt"[m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[48;2;58;57;67m [m[48;2;58;57;67mĀ [m[48;2;58;57;67m [m[48;2;58;57;67m [m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;41;50;41m 5[m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;48;58;48m+ [m[38;2;241;239;239;48;2;48;58;48m "strings"[m[48;2;48;58;48m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 5[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m )[m[48;2;32;31;38m [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 6[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m )[m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 6[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m [m[48;2;32;31;38m [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 7[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m [m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 7[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m func main() {[m[48;2;32;31;38m [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 8[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m func main() {[m[48;2;32;31;38m [m
+[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;73;73;255m ā¦[m[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;51;49;178m @@ -9,5 +10,6 @@ [m[48;2;51;49;178m [m[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;73;73;255m ā¦[m[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;51;49;178m [m[48;2;51;49;178m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 9[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m }[m[48;2;32;31;38m [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m10[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m }[m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m10[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m [m[48;2;32;31;38m [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m11[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m [m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m11[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m func getContent() string {[m[48;2;32;31;38m [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m12[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m func getContent() string {[m[48;2;32;31;38m [m
+[48;2;51;41;41mĀ [m[38;2;255;56;139;48;2;51;41;41m12[m[48;2;51;41;41mĀ [m[38;2;255;56;139;48;2;58;48;48m- [m[38;2;241;239;239;48;2;58;48;48m return "Hello, world!"[m[48;2;58;48;48m [m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;41;50;41m13[m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;48;58;48m+ [m[38;2;241;239;239;48;2;48;58;48m content := strings.ToUpper("Hello, World!")[m[48;2;48;58;48m [m
+[48;2;58;57;67mĀ [m[48;2;58;57;67m [m[48;2;58;57;67mĀ [m[48;2;58;57;67m [m[48;2;58;57;67m [m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;41;50;41m14[m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;48;58;48m+ [m[38;2;241;239;239;48;2;48;58;48m return content[m[48;2;48;58;48m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m13[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m }[m[48;2;32;31;38m [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m15[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m }[m[48;2;32;31;38m [m
@@ -0,0 +1,15 @@
+[48;2;71;118;255mĀ [m[38;2;77;76;87;48;2;71;118;255m ā¦[m[48;2;71;118;255mĀ [m[38;2;96;95;107;48;2;113;154;252m @@ -2,6 +2,7 @@ [m[48;2;113;154;252m [m[48;2;71;118;255mĀ [m[38;2;77;76;87;48;2;71;118;255m ā¦[m[48;2;71;118;255mĀ [m[38;2;96;95;107;48;2;113;154;252m [m[48;2;113;154;252m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 2[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m [m[48;2;241;239;239m [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 2[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m [m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 3[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m import ([m[48;2;241;239;239m [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 3[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m import ([m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 4[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m "fmt"[m[48;2;241;239;239m [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 4[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m "fmt"[m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[48;2;223;219;221m [m[48;2;223;219;221mĀ [m[48;2;223;219;221m [m[48;2;223;219;221m [m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;200;230;201m 5[m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;232;245;233m+ [m[38;2;32;31;38;48;2;232;245;233m "strings"[m[48;2;232;245;233m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 5[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m )[m[48;2;241;239;239m [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 6[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m )[m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 6[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m [m[48;2;241;239;239m [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 7[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m [m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 7[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m func main() {[m[48;2;241;239;239m [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 8[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m func main() {[m[48;2;241;239;239m [m
+[48;2;71;118;255mĀ [m[38;2;77;76;87;48;2;71;118;255m ā¦[m[48;2;71;118;255mĀ [m[38;2;96;95;107;48;2;113;154;252m @@ -9,5 +10,6 @@ [m[48;2;113;154;252m [m[48;2;71;118;255mĀ [m[38;2;77;76;87;48;2;71;118;255m ā¦[m[48;2;71;118;255mĀ [m[38;2;96;95;107;48;2;113;154;252m [m[48;2;113;154;252m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 9[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m }[m[48;2;241;239;239m [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m10[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m }[m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m10[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m [m[48;2;241;239;239m [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m11[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m [m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m11[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m func getContent() string {[m[48;2;241;239;239m [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m12[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m func getContent() string {[m[48;2;241;239;239m [m
+[48;2;255;205;210mĀ [m[38;2;255;56;139;48;2;255;205;210m12[m[48;2;255;205;210mĀ [m[38;2;255;56;139;48;2;255;235;238m- [m[38;2;32;31;38;48;2;255;235;238m return "Hello, world!"[m[48;2;255;235;238m [m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;200;230;201m13[m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;232;245;233m+ [m[38;2;32;31;38;48;2;232;245;233m content := strings.ToUpper("Hello, World!")[m[48;2;232;245;233m [m
+[48;2;223;219;221mĀ [m[48;2;223;219;221m [m[48;2;223;219;221mĀ [m[48;2;223;219;221m [m[48;2;223;219;221m [m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;200;230;201m14[m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;232;245;233m+ [m[38;2;32;31;38;48;2;232;245;233m return content[m[48;2;232;245;233m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m13[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m }[m[48;2;241;239;239m [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m15[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m }[m[48;2;241;239;239m [m
@@ -0,0 +1,15 @@
+[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;73;73;255m ā¦[m[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;51;49;178m @@ -2,6 +2,7 ā¦[m[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;73;73;255m ā¦[m[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;51;49;178m [m[48;2;51;49;178m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 2[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m [m[48;2;32;31;38m [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 2[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m [m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 3[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m import ([m[48;2;32;31;38m [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 3[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m import ([m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 4[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m "fmt"[m[48;2;32;31;38m [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 4[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m "fmt"[m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[48;2;58;57;67m [m[48;2;58;57;67mĀ [m[48;2;58;57;67m [m[48;2;58;57;67m [m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;41;50;41m 5[m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;48;58;48m+ [m[38;2;241;239;239;48;2;48;58;48m "strings"[m[48;2;48;58;48m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 5[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m )[m[48;2;32;31;38m [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 6[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m )[m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 6[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m [m[48;2;32;31;38m [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 7[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m [m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 7[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m func main() {[m[48;2;32;31;38m [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 8[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m func main() {[m[48;2;32;31;38m [m
+[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;73;73;255m ā¦[m[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;51;49;178m @@ -9,5 +10,6ā¦[m[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;73;73;255m ā¦[m[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;51;49;178m [m[48;2;51;49;178m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 9[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m }[m[48;2;32;31;38m [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m10[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m }[m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m10[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m [m[48;2;32;31;38m [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m11[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m [m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m11[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m func getConteā¦[m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m12[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m func getConteā¦[m
+[48;2;51;41;41mĀ [m[38;2;255;56;139;48;2;51;41;41m12[m[48;2;51;41;41mĀ [m[38;2;255;56;139;48;2;58;48;48m- [m[38;2;241;239;239;48;2;58;48;48m return "Hā¦[m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;41;50;41m13[m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;48;58;48m+ [m[38;2;241;239;239;48;2;48;58;48m content :ā¦[m
+[48;2;58;57;67mĀ [m[48;2;58;57;67m [m[48;2;58;57;67mĀ [m[48;2;58;57;67m [m[48;2;58;57;67m [m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;41;50;41m14[m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;48;58;48m+ [m[38;2;241;239;239;48;2;48;58;48m return coā¦[m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m13[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m }[m[48;2;32;31;38m [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m15[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m }[m[48;2;32;31;38m [m
@@ -0,0 +1,15 @@
+[48;2;71;118;255mĀ [m[38;2;77;76;87;48;2;71;118;255m ā¦[m[48;2;71;118;255mĀ [m[38;2;96;95;107;48;2;113;154;252m @@ -2,6 +2,7 ā¦[m[48;2;71;118;255mĀ [m[38;2;77;76;87;48;2;71;118;255m ā¦[m[48;2;71;118;255mĀ [m[38;2;96;95;107;48;2;113;154;252m [m[48;2;113;154;252m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 2[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m [m[48;2;241;239;239m [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 2[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m [m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 3[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m import ([m[48;2;241;239;239m [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 3[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m import ([m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 4[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m "fmt"[m[48;2;241;239;239m [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 4[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m "fmt"[m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[48;2;223;219;221m [m[48;2;223;219;221mĀ [m[48;2;223;219;221m [m[48;2;223;219;221m [m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;200;230;201m 5[m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;232;245;233m+ [m[38;2;32;31;38;48;2;232;245;233m "strings"[m[48;2;232;245;233m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 5[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m )[m[48;2;241;239;239m [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 6[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m )[m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 6[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m [m[48;2;241;239;239m [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 7[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m [m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 7[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m func main() {[m[48;2;241;239;239m [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 8[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m func main() {[m[48;2;241;239;239m [m
+[48;2;71;118;255mĀ [m[38;2;77;76;87;48;2;71;118;255m ā¦[m[48;2;71;118;255mĀ [m[38;2;96;95;107;48;2;113;154;252m @@ -9,5 +10,6ā¦[m[48;2;71;118;255mĀ [m[38;2;77;76;87;48;2;71;118;255m ā¦[m[48;2;71;118;255mĀ [m[38;2;96;95;107;48;2;113;154;252m [m[48;2;113;154;252m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 9[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m }[m[48;2;241;239;239m [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m10[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m }[m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m10[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m [m[48;2;241;239;239m [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m11[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m [m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m11[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m func getConteā¦[m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m12[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m func getConteā¦[m
+[48;2;255;205;210mĀ [m[38;2;255;56;139;48;2;255;205;210m12[m[48;2;255;205;210mĀ [m[38;2;255;56;139;48;2;255;235;238m- [m[38;2;32;31;38;48;2;255;235;238m return "Hā¦[m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;200;230;201m13[m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;232;245;233m+ [m[38;2;32;31;38;48;2;232;245;233m content :ā¦[m
+[48;2;223;219;221mĀ [m[48;2;223;219;221m [m[48;2;223;219;221mĀ [m[48;2;223;219;221m [m[48;2;223;219;221m [m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;200;230;201m14[m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;232;245;233m+ [m[38;2;32;31;38;48;2;232;245;233m return coā¦[m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m13[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m }[m[48;2;241;239;239m [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m15[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m }[m[48;2;241;239;239m [m
@@ -0,0 +1,16 @@
+[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;73;73;255m ā¦[m[48;2;73;73;255mĀ [m[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;73;73;255m ā¦[m[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;51;49;178m @@ -2,6 +2,7 @@ [m[48;2;51;49;178m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 2[m[48;2;58;57;67mĀ [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 2[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m [m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 3[m[48;2;58;57;67mĀ [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 3[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m import ([m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 4[m[48;2;58;57;67mĀ [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 4[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m "fmt"[m[48;2;32;31;38m [m
+[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;41;50;41m [m[48;2;41;50;41mĀ [m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;41;50;41m 5[m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;48;58;48m+ [m[38;2;241;239;239;48;2;48;58;48m "strings"[m[48;2;48;58;48m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 5[m[48;2;58;57;67mĀ [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 6[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m )[m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 6[m[48;2;58;57;67mĀ [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 7[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m [m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 7[m[48;2;58;57;67mĀ [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 8[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m func main() {[m[48;2;32;31;38m [m
+[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;73;73;255m ā¦[m[48;2;73;73;255mĀ [m[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;73;73;255m ā¦[m[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;51;49;178m @@ -9,5 +10,6 @@ [m[48;2;51;49;178m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 9[m[48;2;58;57;67mĀ [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m10[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m }[m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m10[m[48;2;58;57;67mĀ [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m11[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m [m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m11[m[48;2;58;57;67mĀ [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m12[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m func getContent() string {[m[48;2;32;31;38m [m
+[48;2;51;41;41mĀ [m[38;2;255;56;139;48;2;51;41;41m12[m[48;2;51;41;41mĀ [m[48;2;51;41;41mĀ [m[38;2;255;56;139;48;2;51;41;41m [m[48;2;51;41;41mĀ [m[38;2;255;56;139;48;2;58;48;48m- [m[38;2;241;239;239;48;2;58;48;48m return "Hello, world!"[m[48;2;58;48;48m [m
+[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;41;50;41m [m[48;2;41;50;41mĀ [m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;41;50;41m13[m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;48;58;48m+ [m[38;2;241;239;239;48;2;48;58;48m content := strings.ToUpper("Hello, World!")[m[48;2;48;58;48m [m
+[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;41;50;41m [m[48;2;41;50;41mĀ [m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;41;50;41m14[m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;48;58;48m+ [m[38;2;241;239;239;48;2;48;58;48m return content[m[48;2;48;58;48m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m13[m[48;2;58;57;67mĀ [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m15[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m }[m[48;2;32;31;38m [m
@@ -0,0 +1,16 @@
+[48;2;71;118;255mĀ [m[38;2;77;76;87;48;2;71;118;255m ā¦[m[48;2;71;118;255mĀ [m[48;2;71;118;255mĀ [m[38;2;77;76;87;48;2;71;118;255m ā¦[m[48;2;71;118;255mĀ [m[38;2;96;95;107;48;2;113;154;252m @@ -2,6 +2,7 @@ [m[48;2;113;154;252m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 2[m[48;2;223;219;221mĀ [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 2[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m [m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 3[m[48;2;223;219;221mĀ [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 3[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m import ([m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 4[m[48;2;223;219;221mĀ [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 4[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m "fmt"[m[48;2;241;239;239m [m
+[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;200;230;201m [m[48;2;200;230;201mĀ [m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;200;230;201m 5[m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;232;245;233m+ [m[38;2;32;31;38;48;2;232;245;233m "strings"[m[48;2;232;245;233m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 5[m[48;2;223;219;221mĀ [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 6[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m )[m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 6[m[48;2;223;219;221mĀ [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 7[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m [m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 7[m[48;2;223;219;221mĀ [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 8[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m func main() {[m[48;2;241;239;239m [m
+[48;2;71;118;255mĀ [m[38;2;77;76;87;48;2;71;118;255m ā¦[m[48;2;71;118;255mĀ [m[48;2;71;118;255mĀ [m[38;2;77;76;87;48;2;71;118;255m ā¦[m[48;2;71;118;255mĀ [m[38;2;96;95;107;48;2;113;154;252m @@ -9,5 +10,6 @@ [m[48;2;113;154;252m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 9[m[48;2;223;219;221mĀ [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m10[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m }[m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m10[m[48;2;223;219;221mĀ [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m11[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m [m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m11[m[48;2;223;219;221mĀ [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m12[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m func getContent() string {[m[48;2;241;239;239m [m
+[48;2;255;205;210mĀ [m[38;2;255;56;139;48;2;255;205;210m12[m[48;2;255;205;210mĀ [m[48;2;255;205;210mĀ [m[38;2;255;56;139;48;2;255;205;210m [m[48;2;255;205;210mĀ [m[38;2;255;56;139;48;2;255;235;238m- [m[38;2;32;31;38;48;2;255;235;238m return "Hello, world!"[m[48;2;255;235;238m [m
+[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;200;230;201m [m[48;2;200;230;201mĀ [m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;200;230;201m13[m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;232;245;233m+ [m[38;2;32;31;38;48;2;232;245;233m content := strings.ToUpper("Hello, World!")[m[48;2;232;245;233m [m
+[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;200;230;201m [m[48;2;200;230;201mĀ [m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;200;230;201m14[m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;232;245;233m+ [m[38;2;32;31;38;48;2;232;245;233m return content[m[48;2;232;245;233m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m13[m[48;2;223;219;221mĀ [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m15[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m }[m[48;2;241;239;239m [m
@@ -0,0 +1,16 @@
+[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;73;73;255m ā¦[m[48;2;73;73;255mĀ [m[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;73;73;255m ā¦[m[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;51;49;178m @@ -2,6 +2,7 @@ [m[48;2;51;49;178m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 2[m[48;2;58;57;67mĀ [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 2[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m [m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 3[m[48;2;58;57;67mĀ [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 3[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m import ([m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 4[m[48;2;58;57;67mĀ [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 4[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m "fmt"[m[48;2;32;31;38m [m
+[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;41;50;41m [m[48;2;41;50;41mĀ [m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;41;50;41m 5[m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;48;58;48m+ [m[38;2;241;239;239;48;2;48;58;48m "strings"[m[48;2;48;58;48m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 5[m[48;2;58;57;67mĀ [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 6[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m )[m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 6[m[48;2;58;57;67mĀ [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 7[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m [m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 7[m[48;2;58;57;67mĀ [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 8[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m func main() {[m[48;2;32;31;38m [m
+[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;73;73;255m ā¦[m[48;2;73;73;255mĀ [m[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;73;73;255m ā¦[m[48;2;73;73;255mĀ [m[38;2;191;188;200;48;2;51;49;178m @@ -9,5 +10,6 @@ [m[48;2;51;49;178m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m 9[m[48;2;58;57;67mĀ [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m10[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m }[m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m10[m[48;2;58;57;67mĀ [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m11[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m [m[48;2;32;31;38m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m11[m[48;2;58;57;67mĀ [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m12[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m func getContent() string {[m[48;2;32;31;38m [m
+[48;2;51;41;41mĀ [m[38;2;255;56;139;48;2;51;41;41m12[m[48;2;51;41;41mĀ [m[48;2;51;41;41mĀ [m[38;2;255;56;139;48;2;51;41;41m [m[48;2;51;41;41mĀ [m[38;2;255;56;139;48;2;58;48;48m- [m[38;2;241;239;239;48;2;58;48;48m return "Hello, world!"[m[48;2;58;48;48m [m
+[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;41;50;41m [m[48;2;41;50;41mĀ [m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;41;50;41m13[m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;48;58;48m+ [m[38;2;241;239;239;48;2;48;58;48m content := strings.ToUppeā¦[m
+[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;41;50;41m [m[48;2;41;50;41mĀ [m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;41;50;41m14[m[48;2;41;50;41mĀ [m[38;2;10;220;217;48;2;48;58;48m+ [m[38;2;241;239;239;48;2;48;58;48m return content[m[48;2;48;58;48m [m
+[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m13[m[48;2;58;57;67mĀ [m[48;2;58;57;67mĀ [m[38;2;223;219;221;48;2;58;57;67m15[m[48;2;58;57;67mĀ [m[38;2;241;239;239;48;2;32;31;38m }[m[48;2;32;31;38m [m
@@ -0,0 +1,16 @@
+[48;2;71;118;255mĀ [m[38;2;77;76;87;48;2;71;118;255m ā¦[m[48;2;71;118;255mĀ [m[48;2;71;118;255mĀ [m[38;2;77;76;87;48;2;71;118;255m ā¦[m[48;2;71;118;255mĀ [m[38;2;96;95;107;48;2;113;154;252m @@ -2,6 +2,7 @@ [m[48;2;113;154;252m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 2[m[48;2;223;219;221mĀ [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 2[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m [m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 3[m[48;2;223;219;221mĀ [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 3[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m import ([m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 4[m[48;2;223;219;221mĀ [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 4[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m "fmt"[m[48;2;241;239;239m [m
+[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;200;230;201m [m[48;2;200;230;201mĀ [m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;200;230;201m 5[m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;232;245;233m+ [m[38;2;32;31;38;48;2;232;245;233m "strings"[m[48;2;232;245;233m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 5[m[48;2;223;219;221mĀ [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 6[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m )[m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 6[m[48;2;223;219;221mĀ [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 7[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m [m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 7[m[48;2;223;219;221mĀ [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 8[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m func main() {[m[48;2;241;239;239m [m
+[48;2;71;118;255mĀ [m[38;2;77;76;87;48;2;71;118;255m ā¦[m[48;2;71;118;255mĀ [m[48;2;71;118;255mĀ [m[38;2;77;76;87;48;2;71;118;255m ā¦[m[48;2;71;118;255mĀ [m[38;2;96;95;107;48;2;113;154;252m @@ -9,5 +10,6 @@ [m[48;2;113;154;252m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m 9[m[48;2;223;219;221mĀ [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m10[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m }[m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m10[m[48;2;223;219;221mĀ [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m11[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m [m[48;2;241;239;239m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m11[m[48;2;223;219;221mĀ [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m12[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m func getContent() string {[m[48;2;241;239;239m [m
+[48;2;255;205;210mĀ [m[38;2;255;56;139;48;2;255;205;210m12[m[48;2;255;205;210mĀ [m[48;2;255;205;210mĀ [m[38;2;255;56;139;48;2;255;205;210m [m[48;2;255;205;210mĀ [m[38;2;255;56;139;48;2;255;235;238m- [m[38;2;32;31;38;48;2;255;235;238m return "Hello, world!"[m[48;2;255;235;238m [m
+[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;200;230;201m [m[48;2;200;230;201mĀ [m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;200;230;201m13[m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;232;245;233m+ [m[38;2;32;31;38;48;2;232;245;233m content := strings.ToUppeā¦[m
+[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;200;230;201m [m[48;2;200;230;201mĀ [m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;200;230;201m14[m[48;2;200;230;201mĀ [m[38;2;10;220;217;48;2;232;245;233m+ [m[38;2;32;31;38;48;2;232;245;233m return content[m[48;2;232;245;233m [m
+[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m13[m[48;2;223;219;221mĀ [m[48;2;223;219;221mĀ [m[38;2;58;57;67;48;2;223;219;221m15[m[48;2;223;219;221mĀ [m[38;2;32;31;38;48;2;241;239;239m }[m[48;2;241;239;239m [m