Kartik K. Agaram
48162b9816
have file API operate on state object
2022-07-25 19:56:39 -07:00
Kartik K. Agaram
94b6d04e83
bugfix: alt-tab shouldn't emit keypress events
...
Looks like this only happens on Linux:
https://love2d.org/forums/viewtopic.php?p=249700
2022-07-25 15:33:06 -07:00
Kartik K. Agaram
6c6a7aab07
move
2022-07-25 15:25:22 -07:00
Kartik K. Agaram
fe8e4fd9da
simplify hysteresis logic
2022-07-25 15:23:01 -07:00
Kartik K. Agaram
6f74f95a46
extract method
2022-07-23 23:36:04 -07:00
Kartik K. Agaram
29dac6a6ec
separate data structure for each line's cache data
...
I have no idea what the performance implications of this are..
2022-07-17 21:05:01 -07:00
Kartik K. Agaram
a1da18c107
more precise name
2022-07-15 22:15:07 -07:00
Kartik K. Agaram
2884f872d8
make test initializations a little more obvious
2022-07-15 22:12:25 -07:00
Kartik K. Agaram
fc6b602342
bugfix: zoom in/out hotkeys
...
Broken since commit 3b36093553
5 hours ago.
2022-07-13 23:31:52 -07:00
Kartik K. Agaram
119abbd52e
bugfix: resize
2022-07-13 15:40:14 -07:00
Kartik K. Agaram
3b36093553
left/right margin -> left/right coordinates
...
Editor state initialization now depends on window dimensions, so we have
to more carefully orchestrate startup.
2022-07-12 20:54:50 -07:00
Kartik K. Agaram
f7d4deef0c
add state arg to a few functions
...
- Text.cursor_at_final_screen_line
- Text.move_cursor_down_to_next_text_line_while_scrolling_again_if_necessary
- Text.snap_cursor_to_bottom_of_screen
- Text.in_line
- Text.to_pos_on_line
- Text.to2
- Text.to1
- Text.previous_screen_line
- Text.tweak_screen_top_and_cursor
- Text.redraw_all
2022-07-12 17:24:01 -07:00
Kartik K. Agaram
81ecca89ff
start passing in Editor_state explicitly
...
In this commit, top-level edit functions:
- edit.draw
- edit.update
- edit.quit
- edit.mouse_pressed
- edit.mouse_released
- edit.textinput
- edit.keychord_pressed
- edit.key_released
2022-07-12 15:33:06 -07:00
Kartik K. Agaram
e95b4fec12
initialize contains test state
2022-07-12 15:29:22 -07:00
Kartik K. Agaram
8bbc1ffe34
group all editor globals
...
We're still accessing them through a global. But we'll change that next.
2022-07-12 15:24:56 -07:00
Kartik K. Agaram
a5f725ab3b
bring couple more globals back to the app level
2022-07-12 13:45:38 -07:00
Kartik K. Agaram
094f3bd7e8
button framework is at the app level
2022-07-12 13:40:53 -07:00
Kartik K. Agaram
2e3a85d94b
experiment: new edit namespace
...
Still lots to do, but the eventual hope is that this will make this
project's code easier to reuse from other LÖVE projects.
One gotcha: even as we start putting code more aggressively into nested
tables, tests must remain at the top-level. Otherwise they won't run.
2022-07-11 23:18:26 -07:00
Kartik K. Agaram
3dccd7f81a
stop pretending globals are local
...
One advantage of this approach: we don't end up with multiple lexical
scopes containing duplicates of the same modules.
2022-07-11 22:11:58 -07:00
Kartik K. Agaram
e68d235c5f
.
2022-07-11 22:03:41 -07:00
Kartik K. Agaram
d2d54db1f9
fix a variable name
2022-07-11 22:01:30 -07:00
Kartik K. Agaram
3eb89adca6
add args to some functions
...
- Text.snap_cursor_to_bottom_of_screen
2022-07-08 16:22:11 -07:00
Kartik K. Agaram
abcc18002b
add args to some functions
...
- Text.to_pos_on_line
2022-07-08 15:45:45 -07:00
Kartik K. Agaram
9fb8f25030
indent
2022-07-08 15:43:45 -07:00
Kartik K. Agaram
00c64ed6e4
add args to some functions
...
- Text.in_line
2022-07-08 15:37:09 -07:00
Kartik K. Agaram
a27dd15c1f
add args to some functions
...
- Text.clip_selection
- Text.cut_selection
- Text.delete_selection
- Text.delete_selection_without_undo
- Text.mouse_pos
- Text.to_pos
2022-07-08 15:30:10 -07:00
Kartik K. Agaram
e39269b19e
start passing left/right margins everywhere
...
I have a set of changes that passes all tests, but I'm going to commit
them very carefully to ensure I don't miss any call-sites. In this
commit I'm adding the args to:
- Text.draw
- Text.tweak_screen_top_and_cursor
But calls within them don't yet pass them where they should. In this
manner I'm going to progress systematically from the top down.
2022-07-08 15:12:17 -07:00
Kartik K. Agaram
048b6d9d3a
drop an arg from a function
2022-07-08 09:44:49 -07:00
Kartik K. Agaram
cff1e58cf6
switch arg for a function
2022-07-08 09:44:49 -07:00
Kartik K. Agaram
50a57d7ef6
stop scanning from start of file on every App.draw
2022-07-07 21:51:06 -07:00
Kartik K. Agaram
6dfe954c02
yet another bugfix in selection management
...
Thanks Leonard Schütz for the report!
Failing scenario:
click to move cursor
hit backspace
First backspace wasn't being doing anything earlier.
2022-07-07 07:39:01 -07:00
Kartik K. Agaram
dff4587219
just keep the cursor visible after any input events
...
This is much nicer.
2022-07-06 09:03:54 -07:00
Kartik K. Agaram
2973324ef6
show cursor immediately after a mouse click
...
I've been subtly finding myself waiting for the cursor to stop blinking
to see if I clicked on the right place.
2022-07-06 08:57:45 -07:00
Kartik K. Agaram
f2e5c4ffee
bugfix: avoid scrolling on 'end'
...
There's multiple ways to do this, only one of them is right, and I keep
forgetting what it is. Turn it into a method.
2022-07-05 11:27:23 -07:00
Kartik K. Agaram
3422d92a00
bugfix: 'escape' to cancel a stroke
...
This has been broken since commit b544e8c357
on May 17 :/
I'm just undoing that commit, which turns out to be completely
unnecessary. And adding a test.
2022-07-05 11:06:55 -07:00
Kartik K. Agaram
3197bb5739
what should happen to selection while drawing?
...
First idea: just leave it alone. Let's see how this works.
2022-07-05 10:09:51 -07:00
Kartik K. Agaram
ea40a9b661
bugfix
...
Gracefully degrade if previously edited file shrinks.
2022-07-03 21:03:52 -07:00
Kartik K. Agaram
53c35241fb
ugh, handle absolute as well as relative paths
2022-07-01 13:56:17 -07:00
Kartik K. Agaram
f311013200
include CWD when saving filename
2022-07-01 12:31:23 -07:00
Kartik K. Agaram
914d9c6f98
bugfix: clicking on empty lines
2022-07-01 12:16:43 -07:00
Kartik K. Agaram
79df3da04b
enforce press/release state only processed once
...
bugfix scenario:
press pageup
click somewhere near the bottom
Before this change the selection was flickering when doing this.
2022-07-01 11:42:54 -07:00
Kartik K. Agaram
e839c3036a
bugfix: manage screen_top and cursor when resizing
2022-07-01 11:01:20 -07:00
Kartik K. Agaram
37c5ab87ec
bugfix: enable resize when loading settings
2022-06-30 23:02:24 -07:00
Kartik K. Agaram
429a42eb1c
right margin
2022-06-30 22:54:34 -07:00
Kartik K. Agaram
da3f6c65b3
start loading settings as applicable
2022-06-30 22:46:45 -07:00
Kartik K. Agaram
b40dab67f2
start saving some settings to disk on quit
...
We're still not reading them anywhere.
2022-06-30 22:20:16 -07:00
Kartik K. Agaram
2025172e52
initialize screen width to something reasonable
2022-06-30 22:04:27 -07:00
Kartik K. Agaram
0cd678581b
rip out geometry commandline arg
...
Let's try really hard to ignore the terminal.
2022-06-30 22:02:31 -07:00
Kartik K. Agaram
86cef33630
use the background color
...
I'd hoped this would reduce the blocks of black while resizing, but it
doesn't seem to have made a difference.
2022-06-30 21:59:17 -07:00
Kartik K. Agaram
e1a49c216e
stop blanking screen while resizing
2022-06-30 21:56:21 -07:00