Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | replace Kilo's raw terminal handling with ncurses | Kartik K. Agaram | 2021-11-13 | 3 | -357/+92 | |
| | | | | | | This was on my todo list. What made it urgent was finding that calling getch() even once while in ncurses caused Kilo to stop detecting arrow keys. No need to debug that sort of nonsense. | |||||
* | avoid side-effects on the Lua stack | Kartik K. Agaram | 2021-11-13 | 1 | -0/+5 | |
| | ||||||
* | stop leaking memory | Kartik K. Agaram | 2021-11-13 | 2 | -4/+6 | |
| | ||||||
* | memory corruption bug | Kartik K. Agaram | 2021-11-13 | 1 | -1/+3 | |
| | | | | | | | | | I was saving an address on the stack to a global, and it was getting clobbered later. This is the sort of thing I completely eliminated in https://github.com/akkartik/mu :/ Now I'm taking a leaf out of the Mu playbook and leaking a little bit of memory every time I switch definitions. | |||||
* | . | Kartik K. Agaram | 2021-11-13 | 1 | -6/+0 | |
| | ||||||
* | very rudimentary definition browser | Kartik K. Agaram | 2021-11-13 | 1 | -3/+25 | |
| | | | | Never shows definitions that were never called. Including non-functions. | |||||
* | . | Kartik K. Agaram | 2021-11-13 | 1 | -3/+3 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-11-13 | 1 | -9/+0 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-11-13 | 1 | -5/+9 | |
| | ||||||
* | shield kilo.c from teliva_editbuffer detail | Kartik K. Agaram | 2021-11-13 | 2 | -4/+10 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-11-13 | 1 | -2/+5 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-11-13 | 1 | -1/+1 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-11-13 | 2 | -10/+8 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-11-13 | 1 | -3/+3 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-11-13 | 2 | -22/+20 | |
| | ||||||
* | clean up experiment from previous commit | Kartik K. Agaram | 2021-11-13 | 1 | -10/+0 | |
| | ||||||
* | instrumenting function calls with their depth | Kartik K. Agaram | 2021-11-13 | 4 | -2/+66 | |
| | ||||||
* | start using static linkage like the rest of Lua | Kartik K. Agaram | 2021-11-13 | 2 | -48/+44 | |
| | ||||||
* | learning about Lua's debug infrastructure | Kartik K. Agaram | 2021-11-11 | 1 | -0/+21 | |
| | | | | https://www.lua.org/pil/23.2.html | |||||
* | create empty file when navigating to empty definition | Kartik K. Agaram | 2021-11-11 | 2 | -4/+4 | |
| | ||||||
* | fix incorrect hotkey in menu | Kartik K. Agaram | 2021-11-11 | 1 | -2/+2 | |
| | ||||||
* | ctrl-g to edit a different definition | Kartik K. Agaram | 2021-11-11 | 2 | -3/+68 | |
| | ||||||
* | gracefully handle missing definition | Kartik K. Agaram | 2021-11-11 | 1 | -0/+1 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-11-11 | 1 | -5/+5 | |
| | ||||||
* | global for current definition being edited | Kartik K. Agaram | 2021-11-11 | 1 | -3/+5 | |
| | ||||||
* | pass lua_State into editor | Kartik K. Agaram | 2021-11-11 | 2 | -6/+6 | |
| | ||||||
* | delete a helper that hides stack side effects | Kartik K. Agaram | 2021-11-11 | 1 | -8/+2 | |
| | ||||||
* | extract a few helper functions | Kartik K. Agaram | 2021-11-11 | 1 | -21/+26 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-11-11 | 1 | -14/+14 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-11-11 | 1 | -1/+1 | |
| | ||||||
* | reorg | Kartik K. Agaram | 2021-11-11 | 2 | -48/+44 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-11-11 | 1 | -0/+1 | |
| | ||||||
* | edit a single hard-coded definition in the image | Kartik K. Agaram | 2021-11-10 | 3 | -8/+71 | |
| | | | | | | | | | | | | | src/teliva counter.tlv C-e # switch to editor C-e # save and quit C-x # exit counter.tlv now has the same logical contents, though the whitespace has changed, and the order of keys is different. The implementation is utterly ghastly. For one, I'm unnecessarily interfacing with kilo through the file system. | |||||
* | . | Kartik K. Agaram | 2021-11-10 | 1 | -25/+25 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-11-10 | 1 | -23/+23 | |
| | ||||||
* | new .tlv image format | Kartik K. Agaram | 2021-11-10 | 2 | -0/+109 | |
| | | | | | | | | | | | | | | Plan is for this to be the default representation for Teliva programs. Text-friendly but not meant to be edited directly as text. Will eventually include both code and data definitions, both current snapshot and past revision history. Right now .tlv files seem to run. Error checking is non-existent, because I don't understand Lua's idioms around 'status' yet. Opening the editor expectedly segfaults. This commit is the most mind-bending bit of code I've written in a long time. | |||||
* | main function for other apps besides life.teliva | Kartik K. Agaram | 2021-11-10 | 4 | -51/+56 | |
| | ||||||
* | extract side-effect from 'update' | Kartik K. Agaram | 2021-11-10 | 1 | -3/+4 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-11-10 | 1 | -7/+10 | |
| | | | | | | | | | | one more implication: - the menu table. It feels natural to define it alongside keyboard input. However, it may then not be initialized during the first paint of the app. I'm not sure how I feel about the menu data structure being defined far away from the `update` function. Recipe for it to go out of date. | |||||
* | no, initialize globals in symmetry with functions | Kartik K. Agaram | 2021-11-10 | 1 | -15/+18 | |
| | | | | | | | | | | | | | | | | Current plan: definitions can have arbitrary code. They'll be loaded lazily when a specific name is invoked but has no binding. Implications: - It'll be the responsibility of the code to define the name it's saved in. "Phony" names will result in some fragments of code repeatedly executing. - Assigning a global to nil is a way to retrigger its initialization the next time it's needed. I'm not sure how I feel about this sort of incompatibility with Lua. I suppose we could avoid it by also tracking what definitions have already been loaded in a run. | |||||
* | put all code into some function | Kartik K. Agaram | 2021-11-10 | 1 | -136/+94 | |
| | ||||||
* | remove upstream Readmes | Kartik K. Agaram | 2021-11-10 | 1 | -61/+2 | |
| | | | | They're already growing bitrot. | |||||
* | life: fix loaf pattern | Kartik K. Agaram | 2021-11-10 | 1 | -2/+5 | |
| | ||||||
* | life: bugfix in up arrow | Kartik K. Agaram | 2021-11-10 | 1 | -1/+1 | |
| | ||||||
* | life: move starting pattern around on the screen | Kartik K. Agaram | 2021-11-10 | 3 | -1/+128 | |
| | | | | | | This assumes we're doing it early soon after opening a new pattern, when it hasn't yet reached the margins. Quick and dirty, but seems good enough. | |||||
* | . | Kartik K. Agaram | 2021-11-10 | 1 | -1/+6 | |
| | ||||||
* | why do we refresh screen after reading keyboard? | Kartik K. Agaram | 2021-11-10 | 2 | -4/+0 | |
| | ||||||
* | load standard Game of Life pattern files | Kartik K. Agaram | 2021-11-10 | 1 | -0/+47 | |
| | ||||||
* | some commandline options for life.teliva | Kartik K. Agaram | 2021-11-10 | 1 | -5/+43 | |
| | ||||||
* | drop an obsolete build target | Kartik K. Agaram | 2021-11-10 | 1 | -3/+0 | |
| |