about summary refs log tree commit diff stats
path: root/main.lua
Commit message (Collapse)AuthorAgeFilesLines
* have file API operate on state objectKartik K. Agaram2022-07-251-3/+3
|
* bugfix: alt-tab shouldn't emit keypress eventsKartik K. Agaram2022-07-251-1/+20
| | | | | Looks like this only happens on Linux: https://love2d.org/forums/viewtopic.php?p=249700
* moveKartik K. Agaram2022-07-251-2/+3
|
* simplify hysteresis logicKartik K. Agaram2022-07-251-8/+3
|
* extract methodKartik K. Agaram2022-07-231-14/+2
|
* separate data structure for each line's cache dataKartik K. Agaram2022-07-171-0/+2
| | | | I have no idea what the performance implications of this are..
* more precise nameKartik K. Agaram2022-07-151-7/+0
|
* make test initializations a little more obviousKartik K. Agaram2022-07-151-9/+4
|
* bugfix: zoom in/out hotkeysKartik K. Agaram2022-07-131-0/+7
| | | | Broken since commit 3b36093553 5 hours ago.
* bugfix: resizeKartik K. Agaram2022-07-131-0/+2
|
* left/right margin -> left/right coordinatesKartik K. Agaram2022-07-121-21/+20
| | | | | 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-2/+2
| | | | | | | | | | | | | - 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
* start passing in Editor_state explicitlyKartik K. Agaram2022-07-121-8/+8
| | | | | | | | | | | | 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-0/+3
|
* group all editor globalsKartik K. Agaram2022-07-121-32/+32
| | | | 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-1/+21
|
* button framework is at the app levelKartik K. Agaram2022-07-121-0/+4
|
* experiment: new edit namespaceKartik K. Agaram2022-07-111-416/+13
| | | | | | | | 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-111-4/+4
| | | | | 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
|
* add args to some functionsKartik K. Agaram2022-07-081-1/+1
| | | | - Text.snap_cursor_to_bottom_of_screen
* add args to some functionsKartik K. Agaram2022-07-081-2/+2
| | | | - Text.to_pos_on_line
* indentKartik K. Agaram2022-07-081-2/+8
|
* add args to some functionsKartik K. Agaram2022-07-081-2/+2
| | | | - Text.in_line
* add args to some functionsKartik K. Agaram2022-07-081-2/+2
| | | | | | | | | - Text.clip_selection - Text.cut_selection - Text.delete_selection - Text.delete_selection_without_undo - Text.mouse_pos - Text.to_pos
* start passing left/right margins everywhereKartik K. Agaram2022-07-081-2/+2
| | | | | | | | | | | I have a set of changes that passes all tests, but I'm going to commit them very carefully to ensure I don't miss any call-sites. In this commit I'm adding the args to: - Text.draw - Text.tweak_screen_top_and_cursor But calls within them don't yet pass them where they should. In this manner I'm going to progress systematically from the top down.
* drop an arg from a functionKartik K. Agaram2022-07-081-2/+2
|
* switch arg for a functionKartik K. Agaram2022-07-081-1/+1
|
* stop scanning from start of file on every App.drawKartik K. Agaram2022-07-071-40/+38
|
* yet another bugfix in selection managementKartik K. Agaram2022-07-071-2/+5
| | | | | | | | | | Thanks Leonard Schütz for the report! Failing scenario: click to move cursor hit backspace First backspace wasn't being doing anything earlier.
* just keep the cursor visible after any input eventsKartik K. Agaram2022-07-061-2/+8
| | | | This is much nicer.
* show cursor immediately after a mouse clickKartik K. Agaram2022-07-061-0/+2
| | | | | I've been subtly finding myself waiting for the cursor to stop blinking to see if I clicked on the right place.
* bugfix: avoid scrolling on 'end'Kartik K. Agaram2022-07-051-2/+1
| | | | | There's multiple ways to do this, only one of them is right, and I keep forgetting what it is. Turn it into a method.
* bugfix: 'escape' to cancel a strokeKartik K. Agaram2022-07-051-5/+0
| | | | | | This has been broken since commit b544e8c357 on May 17 :/ I'm just undoing that commit, which turns out to be completely unnecessary. And adding a test.
* what should happen to selection while drawing?Kartik K. Agaram2022-07-051-0/+1
| | | | First idea: just leave it alone. Let's see how this works.
* bugfixKartik K. Agaram2022-07-031-1/+1
| | | | Gracefully degrade if previously edited file shrinks.
* ugh, handle absolute as well as relative pathsKartik K. Agaram2022-07-011-1/+5
|
* include CWD when saving filenameKartik K. Agaram2022-07-011-1/+3
|
* bugfix: clicking on empty linesKartik K. Agaram2022-07-011-1/+2
|
* enforce press/release state only processed onceKartik K. Agaram2022-07-011-4/+7
| | | | | | | | bugfix scenario: press pageup click somewhere near the bottom Before this change the selection was flickering when doing this.
* bugfix: manage screen_top and cursor when resizingKartik K. Agaram2022-07-011-0/+7
|
* bugfix: enable resize when loading settingsKartik K. Agaram2022-06-301-2/+10
|
* right marginKartik K. Agaram2022-06-301-0/+2
|
* start loading settings as applicableKartik K. Agaram2022-06-301-12/+43
|
* start saving some settings to disk on quitKartik K. Agaram2022-06-301-1/+8
| | | | We're still not reading them anywhere.
* initialize screen width to something reasonableKartik K. Agaram2022-06-301-3/+3
|
* rip out geometry commandline argKartik K. Agaram2022-06-301-33/+8
| | | | Let's try really hard to ignore the terminal.
* use the background colorKartik K. Agaram2022-06-301-2/+2
| | | | | I'd hoped this would reduce the blocks of black while resizing, but it doesn't seem to have made a difference.
* stop blanking screen while resizingKartik K. Agaram2022-06-301-9/+0
|