summary refs log tree commit diff stats
path: root/ui/helpers.go
diff options
context:
space:
mode:
Diffstat (limited to 'ui/helpers.go')
-rw-r--r--ui/helpers.go30
1 files changed, 25 insertions, 5 deletions
diff --git a/ui/helpers.go b/ui/helpers.go
index 0b8789e..f2b2adf 100644
--- a/ui/helpers.go
+++ b/ui/helpers.go
@@ -9,13 +9,33 @@ import (
 func TPrintf(geo *Geometry, ref tb.Cell, format string, a ...interface{}) {
 	str := fmt.Sprintf(format, a...)
 	_geo := *geo
+	newline := func() {
+		// TODO: Abort when out of room?
+		geo.Col = _geo.Col
+		geo.Row++
+	}
 	for _, ch := range str {
-		tb.SetCell(geo.Col, geo.Row, ch, ref.Fg, ref.Bg)
-		geo.Col++
-		if geo.Col == _geo.Col+geo.Width {
-			// TODO: Abort when out of room?
+		switch ch {
+		case '\n':
+			newline()
+		case '\r':
 			geo.Col = _geo.Col
-			geo.Row++
+		default:
+			tb.SetCell(geo.Col, geo.Row, ch, ref.Fg, ref.Bg)
+			geo.Col++
+			if geo.Col == _geo.Col+geo.Width {
+				newline()
+			}
+		}
+	}
+}
+
+func TFill(geo Geometry, ref tb.Cell) {
+	_geo := geo
+	for ; geo.Row < geo.Height; geo.Row++ {
+		for ; geo.Col < geo.Width; geo.Col++ {
+			tb.SetCell(geo.Col, geo.Row, ref.Ch, ref.Fg, ref.Bg)
 		}
+		geo.Col = _geo.Col
 	}
 }
ng to reorg C++ mu to use layers' href='/akkartik/mu/commit/cpp/literate/001test?h=main&id=515309164793b2e03c15954bf8a89f0f288a7f2c'>51530916 ^
54e4548d ^
51530916 ^

2ed1aa9c ^
51530916 ^

de49fb42 ^


b39ceb27 ^
df0b469f ^
b39ceb27 ^






51530916 ^
b39ceb27 ^
9e608a77 ^

ac0e9db5 ^
afa42503 ^
9e608a77 ^


b39ceb27 ^
683d53ca ^
b39ceb27 ^


683d53ca ^

b39ceb27 ^
df0b469f ^
ccd792da ^
51530916 ^
ac0e9db5 ^
7d13531e ^



eb3a527a ^


fb4836dc ^
eb3a527a ^
51530916 ^

0f125d5f ^
ac0e9db5 ^
86acd630 ^

0f125d5f ^
eb3a527a ^
65ccad4c ^
6673e1fc ^
40be2522 ^
eb3a527a ^



51530916 ^
f278a15d ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98