about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 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
* add args to some functionsKartik K. Agaram2022-07-081-2/+2
| | | | - Text.cursor_at_final_screen_line
* add args to some functionsKartik K. Agaram2022-07-083-8/+8
| | | | - Text.pos_at_start_of_cursor_screen_line
* add args to some functionsKartik K. Agaram2022-07-083-6/+5
| | | | - Text.to_pos_on_line