about summary refs log tree commit diff stats
path: root/edit.lua
Commit message (Collapse)AuthorAgeFilesLines
* separate data structure for each line's cache dataKartik K. Agaram2022-07-171-8/+13
| | | | I have no idea what the performance implications of this are..
* keep all text cache writes inside text.luaKartik K. Agaram2022-07-171-4/+3
|
* switch to line index in a functionKartik K. Agaram2022-07-171-2/+2
| | | | - Text.to_pos_on_line
* switch to line index in a functionKartik K. Agaram2022-07-171-2/+2
| | | | - Text.in_line
* drop some extra argsKartik K. Agaram2022-07-171-4/+4
|
* fold together two largely similar casesKartik K. Agaram2022-07-171-28/+23
|
* drop some redundant args from Text.drawKartik K. Agaram2022-07-171-3/+3
|
* formattingKartik K. Agaram2022-07-161-1/+1
|
* bring back a set of constantsKartik K. Agaram2022-07-161-7/+6
| | | | | It's starting to sink in that I don't want hard-coded constants inside objects.
* more precise nameKartik K. Agaram2022-07-151-3/+10
|
* make test initializations a little more obviousKartik K. Agaram2022-07-151-7/+17
|
* a bug I've never run intoKartik K. Agaram2022-07-131-2/+8
| | | | | | The previous commit was failing inside a test that I can't reproduce manually. Perhaps it's something about how often draw/update run in practice. Anyways, it's definitely uncovered a real issue.
* replace globals with args in a few functionsKartik K. Agaram2022-07-121-2/+2
| | | | | | | | | - 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-121-0/+2
|
* deduce left/right from state where possibleKartik K. Agaram2022-07-121-1/+1
|
* left/right margin -> left/right coordinatesKartik K. Agaram2022-07-121-16/+19
| | | | | 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-121-1/+1
| | | | | | | - 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-121-10/+10
| | | | | | | | | | | | | - 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-121-2/+2
| | | | | - Text.pos_at_start_of_cursor_screen_line - Text.cursor_past_screen_bottom
* add state arg to a few functionsKartik K. Agaram2022-07-121-3/+3
| | | | | - Text.search_next - Text.search_previous
* add state arg to a few functionsKartik K. Agaram2022-07-121-15/+15
| | | | | | | - record_undo_event - undo_event - redo_event - snapshot
* add state arg to a few functionsKartik K. Agaram2022-07-121-3/+3
| | | | | | | | | | | - 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-121-2/+2
| | | | | | | | | | | | | - 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-121-1/+1
|
* add state arg to schedule_saveKartik K. Agaram2022-07-121-12/+12
|
* add state arg to Drawing.updateKartik K. Agaram2022-07-121-1/+1
|
* add state arg to Drawing.drawKartik K. Agaram2022-07-121-1/+1
|
* add state arg to Text.keychord_pressedKartik K. Agaram2022-07-121-1/+1
|
* .Kartik K. Agaram2022-07-121-1/+1
|
* add state arg to Drawing.mouse_releasedKartik K. Agaram2022-07-121-1/+1
|
* add state arg to Drawing.keychord_pressedKartik K. Agaram2022-07-121-1/+1
|
* add state arg to Drawing.mouse_pressedKartik K. Agaram2022-07-121-1/+1
|
* add state arg to some functionsKartik K. Agaram2022-07-121-3/+3
| | | | | | - Text.draw - Text.draw_cursor - Text.draw_search_bar
* call edit rather than App callbacks in testsKartik K. Agaram2022-07-121-0/+43
|
* start passing in Editor_state explicitlyKartik K. Agaram2022-07-121-123/+123
| | | | | | | | | | | | 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-121-1/+1
|
* group all editor globalsKartik K. Agaram2022-07-121-188/+198
| | | | 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-121-23/+0
|
* button framework is at the app levelKartik K. Agaram2022-07-121-3/+0
|
* make colors easier to editKartik K. Agaram2022-07-111-1/+13
|
* experiment: new edit namespaceKartik K. Agaram2022-07-111-0/+446
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.