about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* experiment: slightly adaptive scrollingKartik K. Agaram2022-06-042-16/+56
| | | | | | | | | | | When long wrapping lines go past the current page, I find myself scrolling before I get to the bottom. So let's scroll less, usually from the start of the bottom-most line, even if it wraps multiple screen lines. The challenge with this is to ensure that a long line that fills the whole page by itself doesn't get you stuck. I take some care to make sure <pagedown> always makes forward progress.
* select text with shift + mouseclickKartik K. Agaram2022-06-044-7/+57
| | | | | | | It's still a bit simple-minded. Most software will keep the first bound fixed and move the second. Lines currently has the bounds in a queue of sorts. But I have a test to indicate the behavior that is definitely desired. We'll see if we need it to get more complex.
* make cursor more obviousKartik K. Agaram2022-06-041-1/+1
| | | | | Let's see if this is good enough. I can also bump up to 4px radius if I need to.
* one more known issueKartik K. Agaram2022-06-031-0/+3
|
* more precise search highlightingKartik K. Agaram2022-06-032-6/+5
|
* extract a functionKartik K. Agaram2022-06-032-20/+25
|
* extract a couple of filesKartik K. Agaram2022-06-034-1193/+1202
|
* bugfix: restore state after C-f (find)Kartik K. Agaram2022-06-032-8/+14
|
* taking stockKartik K. Agaram2022-06-031-0/+4
| | | | | | | | couple of more temporary bugs: find sometimes draws highlighted text in wrong place esc after C-f sometimes ends up with cursor before screen top But the known issues are harder.
* highlight selection while draggingKartik K. Agaram2022-06-032-17/+47
| | | | | | | Mouse stuff is pretty strenuous. For the first time I have to be careful not to recompute too often. And I ran into a race condition for the first time where resetting line.y within App.draw meant mouse clicks were extremely unlikely to see line.y set.
* select text using mouse dragKartik K. Agaram2022-06-033-12/+27
| | | | Doesn't yet highlight while dragging.
* renameKartik K. Agaram2022-06-032-12/+12
|
* local varKartik K. Agaram2022-06-031-60/+61
|
* up arrow to search previousKartik K. Agaram2022-06-032-0/+52
|
* switch freehand hotkey to eliminate conflict with searchKartik K. Agaram2022-06-022-2/+2
| | | | I'm now following Inkscape, and the mnemonic is 'pencil'.
* switch copy/paste to ctrl- hotkeysKartik K. Agaram2022-06-022-48/+49
|
* switch undo/redo to ctrl- hotkeysKartik K. Agaram2022-06-022-22/+20
|
* default font size and line-heightKartik K. Agaram2022-06-021-4/+10
|
* extract a new variableKartik K. Agaram2022-06-022-94/+63
|
* crisp font renderingKartik K. Agaram2022-06-025-283/+228
|
* find textKartik K. Agaram2022-06-022-9/+119
|
* scroll if necessary on pasteKartik K. Agaram2022-06-021-0/+23
|
* renameKartik K. Agaram2022-06-021-2/+2
|
* .Kartik K. Agaram2022-06-021-1/+1
|
* test harness now supports copy/pasteKartik K. Agaram2022-06-022-3/+78
|
* bugfix: pasting newlinesKartik K. Agaram2022-06-021-12/+21
|
* more efficient undo/redoKartik K. Agaram2022-06-023-61/+73
| | | | | Now the bottleneck shifts to applying undo/redo in large files. But things should be snappy if you don't use the sluggish feature.
* renameKartik K. Agaram2022-06-024-16/+16
|
* this implementation undo load-tests quite poorlyKartik K. Agaram2022-06-021-0/+28
| | | | | | Even a 10KB file gets sluggish within the first 1k characters inserted. We're not running out of memory, we're just overloading Lua's GC.
* bugfix: undo drawing creationKartik K. Agaram2022-06-022-1/+5
| | | | | Also clean up drawing state to make sure we don't get into hard-to-debug situations.
* after much struggle, a brute-force undoKartik K. Agaram2022-06-025-0/+214
| | | | | | | | | Incredibly inefficient, but I don't yet know how to efficiently encode undo mutations that can span multiple lines. There seems to be one bug related to creating new drawings; they're not spawning events and undoing past drawing creation has some weird artifacts. Redo seems to consistently work, though.
* update some App framework docsKartik K. Agaram2022-05-311-5/+5
|
* avoid scrolling down if possibleKartik K. Agaram2022-05-301-1/+28
|
* missing temporary modes in a couple more placesKartik K. Agaram2022-05-301-2/+4
|
* missing shape modes in a couple more placesKartik K. Agaram2022-05-301-1/+1
|
* support non-text lines in Text.to2Kartik K. Agaram2022-05-301-1/+3
| | | | | Originally I was only using it on cursor line, but there's no reason that has to be true in general.
* regression: typing uppercase letters in textKartik K. Agaram2022-05-302-8/+7
|
* more robust transitions to temporary modesKartik K. Agaram2022-05-301-3/+10
| | | | | | I seem to often accidentally press C-n twice to go into name mode. Now doing so overrides the previous temporary mode (name/move/delete point) without clobbering the real shape-drawing mode.
* experiment: give up on changing shape modeKartik K. Agaram2022-05-301-9/+1
| | | | | | | | I often find myself accidentally hovering over some shape or other when switching modes. One additional reason to do this: I never included it in the help. So it hasn't been very high-priority.
* bugfix: function namesKartik K. Agaram2022-05-301-3/+3
|
* ignore 'name' mode in a few placesKartik K. Agaram2022-05-301-0/+4
|
* bugfix: checking if a point is on a manhattan lineKartik K. Agaram2022-05-301-1/+19
|
* ignore 'deleted' shapes when saving to diskKartik K. Agaram2022-05-301-0/+6
|
* ReadmeKartik K. Agaram2022-05-291-4/+9
|
* go through App in a couple more placesKartik K. Agaram2022-05-292-7/+7
|
* .Kartik K. Agaram2022-05-291-6/+0
|
* some helpersKartik K. Agaram2022-05-291-0/+16
| | | | | | | | | | | | I spent some time trying to reduce the duplication between identical operations with and without the shift key pressed. However it makes things harder to understand. If you try to process selection in App.keychord_pressed in main.lua, you have to sometimes process the selection before (e.g. including the state of the cursor _before_ an arrow key takes effect), and sometimes after (e.g. copying the selection before resetting it, even though it doesn't include a shift key) Let's just leave things as they are.
* .Kartik K. Agaram2022-05-291-4/+4
|
* cut/copy selected text to clipboardKartik K. Agaram2022-05-291-0/+45
|
* selecting text and deleting selectionsKartik K. Agaram2022-05-293-4/+310
| | | | | | I've written a few tests for delete_selection, but the way different operations initialize the selection seems fairly standard and not worth testing so far.