Kartik K. Agaram
f7afc61b22
fix a crash
...
This one isn't worth debugging. We know how to recreate this data on
demand.
2022-06-06 18:57:46 -07:00
Kartik K. Agaram
b1c7ebdca3
additional logging for an active bug
2022-06-05 12:04:21 -07:00
Kartik K. Agaram
9cafed99f4
another bugfix in scrolling while inserting text
...
I'm being unprincipled at the moment between pos and x,y coordinates.
Whatever is more convenient. Perhaps a cleaner approach will come to me
over time.
2022-06-05 10:08:28 -07:00
Kartik K. Agaram
e7a985bd0a
bugfix in previous commit
...
I almost pushed this to production. That would have been catastrophic;
the very first keystroke anyone typed into the editor would have failed.
And in the process, this fixes the next bug on my TODO list! Paste on
first line wasn't working. Now it is.
2022-06-05 09:51:54 -07:00
Kartik K. Agaram
de473046bc
check for scroll when just typing
2022-06-05 08:29:38 -07:00
Kartik K. Agaram
5055361209
rename
2022-06-05 08:11:50 -07:00
Kartik K. Agaram
3f07ac51d2
some unnecessary mutations
...
Why are we not modifying Screen_top1.pos in these places? Because we
don't really need to modify Screen_top1 at all.
2022-06-05 08:11:33 -07:00
Kartik K. Agaram
8c0f54ee64
some typos
2022-06-05 07:59:44 -07:00
Kartik K. Agaram
6267ddd2eb
bugfix: backspace from start of file
2022-06-04 22:13:34 -07:00
Kartik K. Agaram
4c5ac9ae5e
regression: couldn't do many drawing operations because line.y was reset
2022-06-04 20:52:36 -07:00
Kartik K. Agaram
fa267e25e6
experiment: slightly adaptive scrolling
...
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.
2022-06-04 14:55:52 -07:00
Kartik K. Agaram
98f50f0b40
make cursor more obvious
...
Let's see if this is good enough. I can also bump up to 4px radius if I
need to.
2022-06-04 11:46:43 -07:00
Kartik K. Agaram
e2696fcc72
more precise search highlighting
2022-06-03 14:37:32 -07:00
Kartik K. Agaram
1bdb931575
extract a function
2022-06-03 14:30:51 -07:00
Kartik K. Agaram
0d52962b3e
extract a couple of files
2022-06-03 14:17:41 -07:00
Kartik K. Agaram
06e6ecdf8f
bugfix: restore state after C-f (find)
2022-06-03 13:59:40 -07:00
Kartik K. Agaram
b69801bdf1
highlight selection while dragging
...
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.
2022-06-03 13:22:03 -07:00
Kartik K. Agaram
73cc12047e
select text using mouse drag
...
Doesn't yet highlight while dragging.
2022-06-03 08:11:18 -07:00
Kartik K. Agaram
7301f3964c
up arrow to search previous
2022-06-03 07:48:41 -07:00
Kartik K. Agaram
8047ab9b89
switch copy/paste to ctrl- hotkeys
2022-06-02 23:52:26 -07:00
Kartik K. Agaram
dcdcd07902
switch undo/redo to ctrl- hotkeys
2022-06-02 23:48:35 -07:00
Kartik K. Agaram
0b63721bb0
extract a new variable
2022-06-02 23:40:20 -07:00
Kartik K. Agaram
9bbfc2be13
crisp font rendering
2022-06-02 23:36:07 -07:00
Kartik K. Agaram
b94b007db5
find text
2022-06-02 22:53:34 -07:00
Kartik K. Agaram
63f59e7c2c
scroll if necessary on paste
2022-06-02 19:28:38 -07:00
Kartik K. Agaram
15c54f4383
rename
2022-06-02 19:25:33 -07:00
Kartik K. Agaram
51f4f13ecc
test harness now supports copy/paste
2022-06-02 18:52:49 -07:00
Kartik K. Agaram
283c4e5804
bugfix: pasting newlines
2022-06-02 18:35:18 -07:00
Kartik K. Agaram
4f76ea37d7
more efficient undo/redo
...
Now the bottleneck shifts to applying undo/redo in large files. But
things should be snappy if you don't use the sluggish feature.
2022-06-02 17:46:30 -07:00
Kartik K. Agaram
22817492a3
rename
2022-06-02 16:44:18 -07:00
Kartik K. Agaram
477216a051
this implementation undo load-tests quite poorly
...
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.
2022-06-02 16:29:18 -07:00
Kartik K. Agaram
670886240f
after much struggle, a brute-force undo
...
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.
2022-06-02 15:45:25 -07:00
Kartik K. Agaram
819cb4b1cc
avoid scrolling down if possible
2022-05-30 17:24:23 -07:00
Kartik K. Agaram
b22bfe82db
support non-text lines in Text.to2
...
Originally I was only using it on cursor line, but there's no reason
that has to be true in general.
2022-05-30 15:40:36 -07:00
Kartik K. Agaram
3b4dacaee8
regression: typing uppercase letters in text
2022-05-30 15:36:53 -07:00
Kartik K. Agaram
6aeb89386c
.
2022-05-29 16:03:02 -07:00
Kartik K. Agaram
f17f5a1192
cut/copy selected text to clipboard
2022-05-29 15:33:24 -07:00
Kartik K. Agaram
23e9be3e10
selecting text and deleting selections
...
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.
2022-05-29 08:12:47 -07:00
Kartik K. Agaram
524157fb8a
bugfix for non-ASCII
2022-05-29 07:57:35 -07:00
Kartik K. Agaram
b0bb105cbe
extract a couple of methods
2022-05-28 23:11:53 -07:00
Kartik K. Agaram
d58aabe867
extract a couple more methods
2022-05-28 22:45:53 -07:00
Kartik K. Agaram
86532eef4b
move some code
...
I had this idea originally to keep text.lua oblivious to drawings.
But that hasn't been true for some time. Losing battle.
2022-05-28 22:45:08 -07:00
Kartik K. Agaram
18c62fb146
extract a few methods
2022-05-28 22:38:35 -07:00
Kartik K. Agaram
e79c895c7d
move
2022-05-28 22:27:47 -07:00
Kartik K. Agaram
10c1a70dd0
.
2022-05-28 22:24:17 -07:00
Kartik K. Agaram
916e4ce341
scroll on backspace
2022-05-28 09:41:02 -07:00
Kartik K. Agaram
cf94d36a5f
.
2022-05-28 09:35:06 -07:00
Kartik K. Agaram
95592b83fb
.
2022-05-28 09:31:51 -07:00
Kartik K. Agaram
3266262b1f
fix a regression in line wrapping
2022-05-28 09:04:21 -07:00
Kartik K. Agaram
8a3b66c813
scroll on enter
2022-05-28 08:38:49 -07:00