about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
...
* more chunks, same approachKartik K. Agaram2022-07-131-3/+6
|
* chunk up some long linesKartik K. Agaram2022-07-131-32/+32
| | | | | Hopefully this is more approachable. Though now I'm creating two new temporary functions on every draw. Whether I need them or not.
* .Kartik K. Agaram2022-07-121-0/+2
|
* drop final mention of state global beyond main.luaKartik K. Agaram2022-07-121-29/+28
| | | | | | | | | | This is all unfortunate in several ways - lots of functions have extra args - table lookups where we used to have a simple variable - program initialization is a lot more delicate Let's see if it was worthwhile. Can we now actually build around the editor component in forks?
* replace globals with args in a few functionsKartik K. Agaram2022-07-124-78/+81
| | | | | | | | | - Drawing.draw_shape - Drawing.draw_pending_shape - Drawing.in_drawing - Drawing.find_or_insert_point - Drawing.near - Drawing.pixels
* correct a mis-named thresholdKartik K. Agaram2022-07-122-2/+4
|
* drop heavyweight near check on file load/storeKartik K. Agaram2022-07-121-19/+25
|
* deduce left/right from state where possibleKartik K. Agaram2022-07-123-78/+78
|
* left/right margin -> left/right coordinatesKartik K. Agaram2022-07-129-369/+486
| | | | | Editor state initialization now depends on window dimensions, so we have to more carefully orchestrate startup.
* add state arg to a few functionsKartik K. Agaram2022-07-122-26/+26
| | | | | | | - Drawing.current_drawing - Drawing.select_shape_at_mouse - Drawing.select_point_at_mouse - Drawing.select_drawing_at_mouse
* add state arg to a few functionsKartik K. Agaram2022-07-124-121/+107
| | | | | | | | | | | | | - Text.cursor_at_final_screen_line - Text.move_cursor_down_to_next_text_line_while_scrolling_again_if_necessary - Text.snap_cursor_to_bottom_of_screen - Text.in_line - Text.to_pos_on_line - Text.to2 - Text.to1 - Text.previous_screen_line - Text.tweak_screen_top_and_cursor - Text.redraw_all
* add state arg to a few functionsKartik K. Agaram2022-07-123-20/+20
| | | | | - Text.pos_at_start_of_cursor_screen_line - Text.cursor_past_screen_bottom
* add state arg to a few functionsKartik K. Agaram2022-07-121-26/+26
| | | | | | - Text.left - Text.right - Text.right_without_scroll
* add state arg to few functionsKartik K. Agaram2022-07-122-112/+112
| | | | | | - draw_help_without_mouse_pressed - draw_help_with_mouse_pressed - current_shape
* add state arg to a few functionsKartik K. Agaram2022-07-122-41/+41
| | | | | - Text.search_next - Text.search_previous
* add state arg to a few functionsKartik K. Agaram2022-07-124-53/+53
| | | | | | | - record_undo_event - undo_event - redo_event - snapshot
* add state arg to a few functionsKartik K. Agaram2022-07-123-67/+67
| | | | | | | | | | | - Text.draw_highlight - Text.clip_selection - Text.selection - Text.cut_selection - Text.delete_selection - Text.delete_selection_without_undo - Text.mouse_pos - Text.to_pos
* add state arg to a few functionsKartik K. Agaram2022-07-122-124/+124
| | | | | | | | | | | | | - Text.insert_at_cursor - Text.insert_return - Text.pageup - Text.pagedown - Text.up - Text.down - Text.start_of_line - Text.end_of_line - Text.word_left - Text.word_right
* add state arg to Text.textinputKartik K. Agaram2022-07-122-9/+9
|
* add state arg to schedule_saveKartik K. Agaram2022-07-123-19/+19
|
* add state arg to Drawing.updateKartik K. Agaram2022-07-122-8/+8
|
* add state arg to Drawing.drawKartik K. Agaram2022-07-122-16/+16
|
* add state arg to Text.keychord_pressedKartik K. Agaram2022-07-122-105/+105
|
* .Kartik K. Agaram2022-07-121-1/+1
|
* add state arg to Drawing.mouse_releasedKartik K. Agaram2022-07-122-21/+21
|
* add state arg to Drawing.keychord_pressedKartik K. Agaram2022-07-122-33/+33
|
* add state arg to Drawing.mouse_pressedKartik K. Agaram2022-07-122-16/+16
|
* add state arg to some functionsKartik K. Agaram2022-07-123-31/+31
| | | | | | - Text.draw - Text.draw_cursor - Text.draw_search_bar
* call edit rather than App callbacks in testsKartik K. Agaram2022-07-123-188/+231
|
* start passing in Editor_state explicitlyKartik K. Agaram2022-07-124-231/+232
| | | | | | | | | | | | In this commit, top-level edit functions: - edit.draw - edit.update - edit.quit - edit.mouse_pressed - edit.mouse_released - edit.textinput - edit.keychord_pressed - edit.key_released
* initialize contains test stateKartik K. Agaram2022-07-123-88/+4
|
* group all editor globalsKartik K. Agaram2022-07-1211-1964/+1974
| | | | We're still accessing them through a global. But we'll change that next.
* bring couple more globals back to the app levelKartik K. Agaram2022-07-122-24/+21
|
* button framework is at the app levelKartik K. Agaram2022-07-122-3/+4
|
* start decoupling editor tests from AppKartik K. Agaram2022-07-112-100/+100
|
* make colors easier to editKartik K. Agaram2022-07-118-37/+38
|
* experiment: new edit namespaceKartik K. Agaram2022-07-113-416/+463
| | | | | | | | Still lots to do, but the eventual hope is that this will make this project's code easier to reuse from other LÖVE projects. One gotcha: even as we start putting code more aggressively into nested tables, tests must remain at the top-level. Otherwise they won't run.
* stop pretending globals are localKartik K. Agaram2022-07-116-19/+5
| | | | | One advantage of this approach: we don't end up with multiple lexical scopes containing duplicates of the same modules.
* .Kartik K. Agaram2022-07-111-1/+2
|
* fix a variable nameKartik K. Agaram2022-07-111-3/+3
|
* skip multiple consecutive whitespaceKartik K. Agaram2022-07-112-2/+49
|
* support other whitespace chars in word movementsKartik K. Agaram2022-07-112-5/+33
|
* flesh out some tests for word movementsKartik K. Agaram2022-07-111-0/+125
|
* done passing left/right margins everywhereKartik K. Agaram2022-07-081-16/+16
| | | | | | | The final step is to add them to: - Text.compute_fragments Doing it carefully caught 5 call-sites that my tests didn't catch.
* add args to some functionsKartik K. Agaram2022-07-081-14/+14
| | | | - Text.populate_screen_line_starting_pos
* add args to some functionsKartik K. Agaram2022-07-081-6/+6
| | | | - Text.to2
* add args to some functionsKartik K. Agaram2022-07-081-5/+5
| | | | - Text.previous_screen_line
* add args to some functionsKartik K. Agaram2022-07-082-11/+11
| | | | - Text.snap_cursor_to_bottom_of_screen
* add args to some functionsKartik K. Agaram2022-07-081-10/+12
| | | | - Text.nearest_cursor_pos
* add args to some functionsKartik K. Agaram2022-07-081-3/+3
| | | | - Text.move_cursor_down_to_next_text_line_while_scrolling_again_if_necessary
previous revision' href='/akkartik/mu/blame/subx/020elf.cc?h=main&id=fe0c9163cb79182e31537862ad7ef0452cdc1e53'>^
9527eda9 ^
96b2216b ^
fd7198b2 ^
96b2216b ^
fd7198b2 ^
96b2216b ^



414d9413 ^
96b2216b ^



630433cd ^
96b2216b ^

414d9413 ^
4a99a6e0 ^

630433cd ^

fd7198b2 ^
630433cd ^

9527eda9 ^

665a4d70 ^
9527eda9 ^

630433cd ^
96b2216b ^


1f4d0aaf ^
fbc21293 ^
a1305217 ^




fbc21293 ^
a1305217 ^

fbc21293 ^

e5998f74 ^

1f4d0aaf ^
e0a0484c ^
e5998f74 ^
c442a5ad ^
e0a0484c ^
7a22a219 ^

e0a0484c ^
7a22a219 ^
e0a0484c ^

708eae31 ^



96b2216b ^



414d9413 ^


1a33d221 ^
708eae31 ^
cd23c8b6 ^
414d9413 ^





1a33d221 ^
414d9413 ^

708eae31 ^

2097401c ^
708eae31 ^


708eae31 ^
087a998e ^
a066ad7e ^
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188