about summary refs log tree commit diff stats
path: root/main.lua
Commit message (Collapse)AuthorAgeFilesLines
...
* first successful pagedown test, first bug found by testKartik K. Agaram2022-05-231-7/+8
| | | | | | | | | | | | | | | | | | | I also really need to rethink how people debug my programs. My approach of inserting and deleting print() takes a lot of commitment. I need my old trace-based whitebox testing idea. However, in my past projects I never did figure out a good framework for tweaking how verbose a trace to emit. Perhaps that's too many knobs. Perhaps we just need a way to run a single test with the most verbose trace possible. Then it's just a matter of having the trace tell a coherent story? But even if the trace stays out of program output in that situation, it's still in the programmer's face in the _code_. Ugh. Current plan: ship program with maximum tests and zero commented-out prints. If you want to debug, insert prints. This is better than previous, text-mode, projects just by virtue of the stdout channel being dedicated to debug stuff.
* fold variables for screen dimensions into the app frameworkKartik K. Agaram2022-05-221-8/+8
|
* basic test-enabled frameworkKartik K. Agaram2022-05-221-26/+25
| | | | | Tests still have a lot of side-effects on the real screen. We'll gradually clean those up.
* renameKartik K. Agaram2022-05-221-1/+3
|
* beginnings of a test harnessKartik K. Agaram2022-05-221-0/+1
| | | | | | | | | | | | | | | | | | | I have no fucking idea what I'm doing. All I know is that there's still too many goddamn bugs[1]. Test motherfucking harness or bust. For starters this is just the default love.run from https://love2d.org/wiki/love.run [1] The following file crashes if you repeatedly press cursor-down: << a b c ```lines ``` x >>
* bugfix: printing the first part of a line at the bottom made it seem ↵Kartik K. Agaram2022-05-211-9/+17
| | | | | | non-wrapping Still lots wrong here.
* I feel confident now that page-down is working.Kartik K. Agaram2022-05-211-2/+3
|
* beginning of a new approach to scroll+wrapKartik K. Agaram2022-05-211-25/+31
| | | | | | | So far I've just changed how existing variables are organized, and put some scaffolding in place for dealing with the new types. Next up: rewriting the code for scrolling to something that feels more obviously correct.
* bugfix: escape key to hide online helpKartik K. Agaram2022-05-211-0/+6
|
* support for naming pointsKartik K. Agaram2022-05-211-0/+27
| | | | There's still an absence of affordance showing when you're in naming mode.
* keep cursor on screen when pressing 'down'Kartik K. Agaram2022-05-201-1/+1
|
* reduce ambitions a bit: page up/down need not start screen from the middle ↵Kartik K. Agaram2022-05-201-13/+14
| | | | | | of a line But we still have work to do for cursor up/down.
* ensure Filename is writable when opened outside a terminalKartik K. Agaram2022-05-201-1/+1
| | | | Thanks Jimmy Miller for reporting this.
* snapshot - no, that's all wrongKartik K. Agaram2022-05-201-9/+11
| | | | | I've been only thinking about up arrow when cursor is at top of screen. Hopefully this is better.
* new globals: draw partial screen line up topKartik K. Agaram2022-05-201-0/+3
| | | | | I'm not setting these yet. Rendering seems to be working after manually setting them.
* start using some globalsKartik K. Agaram2022-05-201-1/+1
|
* moveKartik K. Agaram2022-05-201-2/+4
|
* start remembering where the cursor is drawn in pxKartik K. Agaram2022-05-201-0/+2
| | | | We'll start using this in cursor up/down motions.
* extract a functionKartik K. Agaram2022-05-201-4/+1
|
* bugfix: text past cursor was rendered red on wrapped linesKartik K. Agaram2022-05-191-0/+1
|
* change text cursor shapeKartik K. Agaram2022-05-191-2/+3
|
* clicking now moves the cursor even on long, wrapped linesKartik K. Agaram2022-05-191-2/+2
|
* make text and drawings the same widthKartik K. Agaram2022-05-191-5/+3
|
* commentKartik K. Agaram2022-05-191-6/+1
|
* eliminate assumptions that line length == size in bytesKartik K. Agaram2022-05-191-3/+3
|
* snapshot: wrapping long lines at word boundariesKartik K. Agaram2022-05-191-1/+3
| | | | | | Still not working: clicking on text to move the cursor aborts up/down motions still move by logical lines rather than screen lines
* a few more integer coordinatesKartik K. Agaram2022-05-191-1/+1
|
* this is a bit clearerKartik K. Agaram2022-05-191-2/+2
|
* redo y computationsKartik K. Agaram2022-05-191-4/+8
|
* simplerKartik K. Agaram2022-05-191-1/+1
|
* delete another arg that can be deducedKartik K. Agaram2022-05-191-1/+1
|
* delete unused argKartik K. Agaram2022-05-191-1/+1
|
* ensure integer coordinatesKartik K. Agaram2022-05-191-1/+1
| | | | | https://love2d.org/wiki/Text says text can appear blurry otherwise. I can't tell yet, though.
* bugfix: ensure Cursor_line is always on a text lineKartik K. Agaram2022-05-181-3/+4
| | | | | | | | | | | | | | | | | | | | Manual test used here: abc ```lines {"p1":{"y":72,"x":82},"mode":"line","p2":{"y":29,"x":169}} ``` def ```lines {"p1":{"y":36,"x":56},"mode":"line","p2":{"y":59,"x":163}} ``` ```lines ``` ghi jkl Hitting page-down moves the cursor from abc to ghi. The 'ghi' line should be fully visible on screen.
* bugfix: position cursor up top when loading fileKartik K. Agaram2022-05-181-0/+2
|
* scroll past first pageKartik K. Agaram2022-05-181-20/+49
| | | | | | Still some limitations. The text cursor has to be visible on screen, so if you have a long series of drawings without intervening lines of text you won't be able to scroll through them all.
* highlight another globalKartik K. Agaram2022-05-171-1/+1
|
* forgot to move this special case outKartik K. Agaram2022-05-171-0/+5
|
* .Kartik K. Agaram2022-05-171-2/+2
|
* delegate update events to drawingsKartik K. Agaram2022-05-171-21/+1
|
* DRY some codeKartik K. Agaram2022-05-171-16/+12
|
* move mouse_released events to DrawingKartik K. Agaram2022-05-171-57/+1
|
* split mouse_pressed events between Text and DrawingKartik K. Agaram2022-05-171-20/+4
|
* split keyboard handling between Text and DrawingKartik K. Agaram2022-05-171-286/+4
|
* autosave in a couple more placesKartik K. Agaram2022-05-171-0/+3
|
* assume we always have a filenameKartik K. Agaram2022-05-171-6/+2
|
* .Kartik K. Agaram2022-05-171-6/+4
|
* bugfix: duplicate character on enterKartik K. Agaram2022-05-171-1/+1
|
* jump between lines on left/rightKartik K. Agaram2022-05-171-0/+22
| | | | Also skip past drawings.
* split lines on enterKartik K. Agaram2022-05-171-3/+7
|