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
778bc78416
make online help fit within a drawing
2022-06-04 21:58:06 -07:00
Kartik K. Agaram
7d1671051f
yet another key conflict
2022-06-04 21:48:35 -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
db8b5b5062
switch circles to 'o' to avoid conflicting with copy
2022-06-04 20:35:31 -07:00
Kartik K. Agaram
bfaa3fd95b
bugfix in help
2022-06-04 20:25:48 -07:00
Kartik K. Agaram
9ee5d1c913
try to maintain a reasonable line width
2022-06-04 20:10:56 -07:00
Kartik K. Agaram
557b91a5de
.
2022-06-04 19:38:20 -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
1326914d7b
select text with shift + mouseclick
...
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.
2022-06-04 14:54:40 -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
a4cec2f58a
one more known issue
2022-06-03 14:42:08 -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
ac83252684
taking stock
...
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.
2022-06-03 13:32:42 -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
9efeae1f82
rename
2022-06-03 08:01:21 -07:00
Kartik K. Agaram
91d79eba33
local var
2022-06-03 08:00:31 -07:00
Kartik K. Agaram
7301f3964c
up arrow to search previous
2022-06-03 07:48:41 -07:00
Kartik K. Agaram
03499f7449
switch freehand hotkey to eliminate conflict with search
...
I'm now following Inkscape, and the mnemonic is 'pencil'.
2022-06-02 23:55:17 -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
1fc4214029
default font size and line-height
2022-06-02 23:44:34 -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
9121a263a6
.
2022-06-02 19:08:06 -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
b4e76eac4e
bugfix: undo drawing creation
...
Also clean up drawing state to make sure we don't get into hard-to-debug
situations.
2022-06-02 15:51:44 -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
a9a133e6fb
update some App framework docs
2022-05-31 17:29:58 -07:00
Kartik K. Agaram
819cb4b1cc
avoid scrolling down if possible
2022-05-30 17:24:23 -07:00
Kartik K. Agaram
d0d22fffbc
missing temporary modes in a couple more places
2022-05-30 16:23:08 -07:00
Kartik K. Agaram
69eeefe197
missing shape modes in a couple more places
2022-05-30 16:23:01 -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