Commit Graph

871 Commits

Author SHA1 Message Date
Kartik K. Agaram c02a5ee1ff delete some logs
One open question is how to manage logs while drawing, since they can be
extremely verbose. Neither tags nor depths seem like the right metaphor
here, and that gives me pause that I perhaps don't see the full space of
needs yet.
2022-09-17 23:27:20 -07:00
Kartik K. Agaram e3f9908d13 yet another bugfix in log parsing 2022-09-17 23:27:20 -07:00
Kartik K. Agaram 593418972c bugfix: perform matches in the right order 2022-09-17 23:19:36 -07:00
Kartik K. Agaram 56cdf607ed easy way to make file switching more convenient
In the fullness of time, I'll want to remember previous file, type to
filter, etc. But for now just don't forget where you were. This is
helpful because I'm often working on either the run side or the source
side, and just starting out on the right side shaves off a lot of
keypresses.
2022-09-17 23:11:23 -07:00
Kartik K. Agaram b00232e01a bugfix: never skip files in file navigator 2022-09-17 23:05:08 -07:00
Kartik K. Agaram b5ff0a4764 use existing local 2022-09-17 23:03:43 -07:00
Kartik K. Agaram cea2730080 use a helper 2022-09-17 23:01:40 -07:00
Kartik K. Agaram 620176263a bugfix: log filenames can have 2 formats 2022-09-17 22:56:11 -07:00
Kartik K. Agaram 72791d9c35 some debug prints
I'm starting to edit the sources from within the app in ernest. First
question: why does the file navigation menu skip some files? These
prints answer the question.
2022-09-17 20:37:40 -07:00
Kartik K. Agaram 0cc8c706ff isolate some tests from settings 2022-09-17 16:33:36 -07:00
Kartik K. Agaram 287050d598 get rid of ugly side-effects in tests 2022-09-17 10:47:47 -07:00
Kartik K. Agaram 69f4062020 bugfix: source margins when toggling log browser
Running the tests now uglily resizes the window for a second or two.
2022-09-17 10:30:08 -07:00
Kartik K. Agaram 0f02efd8cc . 2022-09-17 10:28:44 -07:00
Kartik K. Agaram 6805143c42 . 2022-09-15 23:02:11 -07:00
Kartik K. Agaram b90a54a9cb new test 2022-09-15 11:26:45 -07:00
Kartik K. Agaram 9a41c7c176 more correct absolute path detection 2022-09-11 08:31:05 -07:00
Kartik K. Agaram 511db8cffd bugfix: path munging on Windows 2022-09-10 19:23:34 -07:00
Kartik K. Agaram 06c784b576 self-documenting 0 Test_right_margin 2022-09-07 10:16:24 -07:00
Kartik K. Agaram b210ce7b36 one issue less
Selecting text is also almost done. I just need to figure out what to do
with bifold text.
2022-09-06 22:01:23 -07:00
Kartik K. Agaram c112b8fadf switch shortcuts for bifold text
I've been running out of ctrl+ shortcuts, and I just remembered my
original idea to keep ctrl+ for drawings/mouse operations and alt+ for
everything else.
2022-09-06 18:39:46 -07:00
Kartik K. Agaram 73fefa7d09 support selections in the source editor
I've only tested side A so far, and included a statement of how I want
side B to behave.
2022-09-06 10:05:20 -07:00
Kartik K. Agaram 516944b572 support hyperlinks in the source editor
Integrated from the pensieve fork.
2022-09-05 14:16:55 -07:00
Kartik K. Agaram fdb35ce12b bugfix: save modified files in save directory
scenario: open app from .love file, press ctrl+e

Before this change the source file showed up empty.
2022-09-05 12:39:28 -07:00
Kartik K. Agaram 5ab541f160 . 2022-09-05 12:38:11 -07:00
Kartik K. Agaram 528c64d690 support drawings in the source editor 2022-09-05 11:29:39 -07:00
Kartik K. Agaram 9f94470f9d include some missing source files 2022-09-05 08:41:26 -07:00
Kartik K. Agaram 7d5dae9e39 bugfix: cold start 2022-09-03 21:08:30 -07:00
Kartik K. Agaram 1a6f533e2c dedup points while loading drawing from disk 2022-09-03 19:24:40 -07:00
Kartik K. Agaram c6f88dccfa set window title within each app
The main app shows the file being edited, but the programming environment does not.
2022-09-03 17:20:11 -07:00
Kartik K. Agaram 5cada8cc9e remember window positions across restart/ctrl+e 2022-09-03 17:00:58 -07:00
Kartik K. Agaram 9a1e297ee3 duplicate 2022-09-03 14:59:57 -07:00
Kartik K. Agaram 17fa0ec9e7 bugfix: window title 2022-09-03 14:51:52 -07:00
Kartik K. Agaram e1c5a42f31 editing source code from within the app
integrated from pong.love via text.love:
  https://merveilles.town/@akkartik/108933336531898243
2022-09-03 14:13:22 -07:00
Kartik K. Agaram 9c72ff1bb4 bugfix: propagate mouse press if any button would
Before this commit I was propagating press events only if _all_ buttons
would.
2022-08-24 13:40:36 -07:00
Kartik K. Agaram ce31b74b10 infrastructure for caching LÖVE text objects 2022-08-24 13:27:04 -07:00
Kartik K. Agaram 89222f86a0 set color for each fragment
In general it seems like good practice to minimize assumptions about
the current color.
2022-08-23 15:09:14 -07:00
Kartik K. Agaram 43dfa184d6 helper: trimming whitespace from strings 2022-08-23 15:06:18 -07:00
Kartik K. Agaram aeaa7d150c helper: file_exists 2022-08-23 15:04:30 -07:00
Kartik K. Agaram 019a829279 make App.open_for_* look more like io.open
Now missing files will result in similar behavior: nil file handles.
2022-08-23 13:12:24 -07:00
Kartik K. Agaram b6f42ebf01 pass all button params to the icon 2022-08-23 12:13:22 -07:00
Kartik K. Agaram 8747415461 allow buttons to nest as well 2022-08-23 11:48:52 -07:00
Kartik K. Agaram 468b791050 flip return value of button handlers
This is compatible with Javascript, and it also seems like a better
default; when people forget to think about return values in click
handlers, they should be consumed.
2022-08-23 11:43:10 -07:00
Kartik K. Agaram 8057f3e8fe stop putting button state in a global
Symptom: a test (test_click_to_create_drawing) started randomly failing
after I inserted a `return` 2 commits ago.

Cause: my tests call edit.draw, but button handlers only get cleared in
app.draw. So my tests weren't clearing button handlers, and every call
to edit.draw was accumulating states. Still unclear why those were going
to different state objects after the `return`, but anyway. I'm not going
to understand every last thing that happens when things go wrong, just
guarantee they can't go wrong. And the way to do that is to decentralize
button handlers to each state that receives them.

The State object in buttons.lua doesn't have to be Editor_state. It just
has to be some table that provides a Schelling Point for shared state.
2022-08-23 10:59:58 -07:00
Kartik K. Agaram ce79623231 improve explanation for buttons 2022-08-23 09:44:16 -07:00
Kartik K. Agaram aadc50f3b6 allow buttons to interrupt events
Most button onpress1 handlers will want to return true.
2022-08-23 09:40:48 -07:00
Kartik K. Agaram 490f10c6f8 indent 2022-08-23 09:37:38 -07:00
Kartik K. Agaram cfdac28e18 distinguish consistently between mouse buttons and other buttons 2022-08-23 09:36:08 -07:00
Kartik K. Agaram 418ce8480a include pensieve.love even though it's in development 2022-08-22 20:26:44 -07:00
Kartik K. Agaram 038f054ede include a fork 2022-08-21 14:29:05 -07:00
Kartik K. Agaram 61eb87b03c correct a comment
We no longer have undo history directly in globals.
2022-08-21 14:26:50 -07:00