about summary refs log tree commit diff stats
path: root/app.lua
Commit message (Collapse)AuthorAgeFilesLines
* late-bind my App.* handlersKartik K. Agaram2023-11-181-1/+2
| | | | | | | | This came up when trying to integrate my apps with the vudu debugger (https://github.com/deltadaedalus/vudu). In general, it's a subtle part of LÖVE's semantics that you can modify event handlers any time and your modifications will get picked up. Now my Freewheeling Apps will follow this norm as well.
* improve a nameKartik K. Agaram2023-11-101-2/+2
|
* clean up a debug printKartik K. Agaram2023-11-101-1/+0
|
* clean up some cruft from error callstacksKartik K. Agaram2023-11-101-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | before: stack traceback: [string "text.lua"]:9: in function 'draw' [string "edit.lua"]:200: in function 'draw' [string "run.lua"]:140: in function 'draw' [string "main.lua"]:162: in function <[string "main.lua"]:155> [C]: in function 'xpcall' [string "app.lua"]:38: in function <[string "app.lua"]:20> [C]: in function 'xpcall' [love "boot.lua"]:370: in function <[love "boot.lua"]:337> after: stack traceback: text.lua:9: in function 'draw' edit.lua:200: in function 'draw' run.lua:140: in function 'draw' main.lua:162: in function <[string "main.lua"]:155> [C]: in function 'xpcall' app.lua:38: in function <[string "app.lua"]:20> [C]: in function 'xpcall' [love "boot.lua"]:370: in function <[love "boot.lua"]:337>
* remove a no-op regex munging on callstacksKartik K. Agaram2023-11-101-1/+1
| | | | Port of a fix "upstream": commit b38f172ceb in template-live-editor.
* use my name for a dirKartik K. Agaram2023-10-271-1/+1
|
* clearer API for drawing a buttonKartik K. Agaram2023-10-161-4/+0
| | | | | | Make it more obvious that the color passed in is just for the background. The icon will do the rest. r/g/b keys are more consistent with App.color().
* start supporting LÖVE v12Kartik K. Agaram2023-10-091-0/+1
| | | | | | | | | | | To do this I need some support for multiple versions. And I need an 'error' mode to go with existing 'run' and 'source' modes (`Current_app`). Most errors will automatically transition to 'source' editor mode, but some errors aren't really actionable in the editor. For those we'll use 'error' mode. The app doesn't yet work with LÖVE v12. There are some unit tests failing because of differences in font rendering.
* yet another bugfix X-(Kartik K. Agaram2023-09-091-2/+2
| | | | This time it really does work with pensieve.love
* two bugfixesKartik K. Agaram2023-09-091-2/+3
| | | | | Annoying dangers of testing in one fork and committing upstream (where it isn't used yet).
* new primitives for reading/writing filesKartik K. Agaram2023-09-091-0/+34
| | | | | | | | These are like versions in nativefs, but only support absolute paths. I want to be thoughtful about the precise location at each call-site. It's a little ugly that app.lua now has a dependency on file.lua. Or source_file.lua for the source editor.
* reorderKartik K. Agaram2023-09-091-11/+11
|
* a few more testable file-system operationsKartik K. Agaram2023-09-081-0/+13
|
* switch to source editor on errorKartik K. Agaram2023-09-041-3/+18
| | | | | | If we're already in source editor we'll quit as before. It's ugly that app.lua now knows about run.lua. But it's a start.
* stop using keyboard.isDownKartik K. Agaram2023-09-041-2/+18
| | | | It doesn't work on Android, and it's not much work to avoid.
* cleaner API for file-system accessKartik K. Agaram2023-08-301-44/+34
| | | | | | | | | | | | | | | | | | | | | Thanks to physfs and nativefs.lua nativefs still introduces some inconsistencies with love.filesystem with relative paths: * love.fs.read: reads from save dir if it exists, falls back to source dir if not * nativefs.read: reads from save dir if it exists, falls back to source dir if not ✓ * love.fs.write: always writes to save dir * nativefs.write: always writes to source dir (since no restrictions) * love.fs.newFile followed by file:open('r'): reads from save dir if it exists, source dir if not * nativefs.newFile followed by file:open('r'): always reads from working dir * love.fs.newFile followed by file:open('w'): always writes to save dir * nativefs.newFile followed by file:open('w'): always writes to working dir So avoid using relative paths with App primitives.
* make a few names consistent with snake_caseKartik K. Agaram2023-08-301-11/+11
|
* reorganize app.lua and its commentsKartik K. Agaram2023-08-261-166/+142
| | | | | | I was so sure my comments were clear when I wrote this a year ago. They were shit. So, most probably, is the current iteration. Feedback appreciated.
* rename modifier_down to key_downKartik K. Agaram2023-06-051-2/+2
| | | | The old name was confusing, as its description showed.
* change how we handle clicks above top marginKartik K. Agaram2023-06-031-0/+1
|
* wait, fix testsKartik K. Agaram2023-05-301-9/+19
| | | | | We had this problem because our test fakes were out of sync with reality. And just in the source app.
* primitives for writing testsKartik K. Agaram2023-04-111-1/+1
|
* include a brief reference enabling many useful appsKartik K. Agaram2023-04-091-12/+0
|
* avoid saving fragments in linesKartik K. Agaram2023-04-011-1/+1
| | | | | | | Now we render lines one screen line at a time rather than one word at a time. I can't port the source side just yet; I need to fix hyperlinks first..
* show count of test failuresKartik K. Agaram2023-04-011-1/+1
|
* no more Text allocationsKartik K. Agaram2023-04-011-9/+0
| | | | Is it just my imagination, or does the app feel lighter and more fluffy?
* App.width can no longer take a TextKartik K. Agaram2023-04-011-10/+1
| | | | | In the process I discovered the horrible fact that Text.x allocates a new Text. And it gets called (just once, thank goodness) on every single frame.
* get rid of to_textKartik K. Agaram2023-04-011-1/+9
| | | | | | | | | | | | | I've been misunderstanding what Text objects are. They can render a lot of text with a given line height, word wrap, colors in various places. And I've been creating one for every word :facepalm: Unwinding this will take some time. This is just a first baby step for ad hoc text objects. Turns out I don't need to convert to Text to get something's rendered width, just the Font can do that. Thanks to the LÖVE Discord for educating me: https://discord.com/channels/329400828920070144/330089431379869708/1091535487333826580
* bugfix: naming pointsKartik K. Agaram2023-03-261-1/+3
|
* remove a conditionKartik K. Agaram2023-01-221-1/+1
|
* clean up a printKartik K. Agaram2023-01-201-1/+0
|
* deduce test names on failuresKartik K. Agaram2023-01-201-1/+14
|
* link to default love.run for comparisonKartik K. Agaram2023-01-201-2/+2
|
* make love event names consistentKartik K. Agaram2022-12-231-7/+7
| | | | | I want the words to be easy to read, and to use a consistent tense. update and focus seem more timeless; let's make everything like those.
* undo an ancient hack; be an idiomatic LÖVE appKartik K. Agaram2022-11-271-3/+3
|
* support mouse clicks in file navigatorKartik K. Agaram2022-09-181-0/+4
|
* get rid of ugly side-effects in testsKartik K. Agaram2022-09-171-0/+25
|
* bugfix: save modified files in save directoryKartik K. Agaram2022-09-051-2/+26
| | | | | | scenario: open app from .love file, press ctrl+e Before this change the source file showed up empty.
* editing source code from within the appKartik K. Agaram2022-09-031-6/+23
| | | | | integrated from pong.love via text.love: https://merveilles.town/@akkartik/108933336531898243
* make App.open_for_* look more like io.openKartik K. Agaram2022-08-231-7/+9
| | | | Now missing files will result in similar behavior: nil file handles.
* distinguish consistently between mouse buttons and other buttonsKartik K. Agaram2022-08-231-17/+17
|
* reclaim a couple more functions after testsKartik K. Agaram2022-08-191-0/+2
|
* hardcode some assumptions about how this app uses loveKartik K. Agaram2022-08-061-18/+11
|
* formattingKartik K. Agaram2022-07-161-2/+2
|
* a more radical attempt at ignoring nil y'sKartik K. Agaram2022-07-131-3/+5
|
* .Kartik K. Agaram2022-07-121-0/+2
|
* make colors easier to editKartik K. Agaram2022-07-111-0/+4
|
* bugfix: typing should delete highlighted textKartik K. Agaram2022-06-201-2/+7
| | | | The test harness now also mimics real usage more precisely.
* autosave slightly less aggressivelyKartik K. Agaram2022-06-171-0/+13
| | | | | | | | It might reduce wear and tear on disk, and losing 3 seconds of data doesn't feel catastrophic (short of a C-z rampage). Thanks to the love2d.org community for the suggestion: https://love2d.org/forums/viewtopic.php?f=14&t=93173
* test: autosave after any shapeKartik K. Agaram2022-06-141-2/+16
|