about summary refs log tree commit diff stats
path: root/text.lua
Commit message (Collapse)AuthorAgeFilesLines
...
* more precise height calculation when scrolling up as much as possible while ↵Kartik K. Agaram2022-05-201-4/+21
| | | | keeping cursor on screen
* keep cursor on screen when pressing 'down'Kartik K. Agaram2022-05-201-2/+4
|
* renameKartik K. Agaram2022-05-201-7/+7
|
* reduce ambitions a bit: page up/down need not start screen from the middle ↵Kartik K. Agaram2022-05-201-7/+3
| | | | | | of a line But we still have work to do for cursor up/down.
* first stab at equally hacky cursor down supportKartik K. Agaram2022-05-201-11/+42
|
* stop recomputing Cursor_x now that we're saving itKartik K. Agaram2022-05-201-5/+3
|
* clearer commentsKartik K. Agaram2022-05-201-2/+3
|
* some more loggingKartik K. Agaram2022-05-201-1/+11
| | | | | | | | | | | Still lots of signs it's all messed up, but I can't be sure until I bring all the other keyboard shortcuts in sync. I just need a better data structure that simplifies the logic. Perhaps talk in terms of screen lines. In which case: We'll need to convert lines to screen lines at some point. We'll need to fix up screen lines when inserting and deleting characters.
* snapshot - no, that's all wrongKartik K. Agaram2022-05-201-6/+30
| | | | | I've been only thinking about up arrow when cursor is at top of screen. Hopefully this is better.
* another piece of support for line wrapping in cursor upKartik K. Agaram2022-05-201-1/+9
|
* first stab at supporting wrapping in cursor upKartik K. Agaram2022-05-201-13/+22
| | | | Looks pretty clean.
* bugfixKartik K. Agaram2022-05-201-16/+3
| | | | | | | I'd wrapped currx in two conditionals, and not noticed that it gets reclaimed within the other. The hint is clearly more work than it's worth. Just take it out.
* new globals: draw partial screen line up topKartik K. Agaram2022-05-201-2/+6
| | | | | I'm not setting these yet. Rendering seems to be working after manually setting them.
* start using some globalsKartik K. Agaram2022-05-201-5/+5
|
* bugfixKartik K. Agaram2022-05-201-1/+1
|
* 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-8/+8
|
* moveKartik K. Agaram2022-05-191-35/+35
|
* planning out cursor up/down over wrapped linesKartik K. Agaram2022-05-191-0/+2
|
* bugfix: cursor past end of screen lineKartik K. Agaram2022-05-191-1/+1
|
* bugfix: text past cursor was rendered red on wrapped linesKartik K. Agaram2022-05-191-0/+2
|
* bugfix: show cursor when past end of lineKartik K. Agaram2022-05-191-0/+5
|
* change text cursor shapeKartik K. Agaram2022-05-191-1/+2
|
* clicking to the right of a wrapped lineKartik K. Agaram2022-05-191-9/+9
|
* clicking now moves the cursor even on long, wrapped linesKartik K. Agaram2022-05-191-5/+50
|
* renameKartik K. Agaram2022-05-191-2/+2
|
* bugfixKartik K. Agaram2022-05-191-2/+7
| | | | | | As usual, binary search is hard to get right. This time I was never actually selecting between left and right when they were just one character apart.
* eliminate assumptions that line length == size in bytesKartik K. Agaram2022-05-191-9/+10
|
* snapshot: wrapping long lines at word boundariesKartik K. Agaram2022-05-191-6/+82
| | | | | | 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-5/+5
|
* drop unused argKartik K. Agaram2022-05-191-1/+1
|
* delete another arg that can be deducedKartik K. Agaram2022-05-191-3/+3
|
* handle tab charactersKartik K. Agaram2022-05-181-1/+8
|
* bugfix: ensure Cursor_line is always on a text lineKartik K. Agaram2022-05-181-0/+33
| | | | | | | | | | | | | | | | | | | | 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.
* scroll past first pageKartik K. Agaram2022-05-181-0/+13
| | | | | | 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.
* split mouse_pressed events between Text and DrawingKartik K. Agaram2022-05-171-7/+20
|
* split keyboard handling between Text and DrawingKartik K. Agaram2022-05-171-0/+132
|
* beginnings of a module for the text editorKartik K. Agaram2022-05-171-0/+54