about summary refs log tree commit diff stats
path: root/gemini.tlv
Commit message (Collapse)AuthorAgeFilesLines
* some more reorg of the standard libraryKartik K. Agaram2022-03-271-252/+0
| | | | | Now life.tlv and gemini.tlv are also minimizing how much of the standard library they pull in, just to be easy to read.
* helper: count permutationsKartik K. Agaram2022-03-271-0/+50
|
* helper: countKartik K. Agaram2022-03-271-0/+16
|
* graphviz: for basic stats, show all nodes orderedKartik K. Agaram2022-03-191-0/+49
| | | | | | The ordering is topological; nodes come before their dependencies. Also some more helpful functions in the template for new apps.
* standardize common helpers across all appsKartik K. Agaram2022-03-191-3/+154
| | | | | In particular, I merged take_out in anagrams.tlv with all_but in graphviz.
* graphviz: draft notion of nodes in 'focus'Kartik K. Agaram2022-03-181-1/+12
| | | | | Now the REPL isn't about deciding what to calculate, but just what nodes to calculate it for.
* graphviz: don't interpret substrings as regexesKartik K. Agaram2022-03-181-0/+4
|
* use method syntax where possibleKartik K. Agaram2022-03-061-13/+13
| | | | | | Perhaps this is a bad idea. It feels arbitrary, what methods Lua happens to include in string and table objects without having to go through the respective modules.
* reconcile all apps with template.tlvKartik K. Agaram2022-03-061-17/+2
| | | | | | They may take more or less from it (sieve.tlv in particular takes nothing since call depth doesn't help at all there), but what they take is in the right order so that you can compare across apps.
* distinguish between window global and argKartik K. Agaram2022-03-021-5/+5
|
* starting to make Teliva apps more testableKartik K. Agaram2022-02-271-7/+7
| | | | | | | | | | Tasteful apps should only perform side-effects through 'window' arguments rather than the 'curses' module directly. It's ok however to read constants like curses.A_NORMAL or curses.stdscr(). There are some limitations, unfortunately. Ncurses wasn't designed with testability in mind. For example, there's no way to curs_set or assume_default_colors without the 'curses' module. Oh well.
* 'doc:blurb': a place to briefly describe an appKartik K. Agaram2022-02-171-0/+11
| | | | | | This is for what the app does, as opposed to 'doc:main', which is also intended to include commentary about the internal organization of the app.
* gemini.tlv: consistent menuKartik K. Agaram2022-02-081-2/+2
|
* gemini: demo of context-sensitive menuKartik K. Agaram2022-01-181-1/+8
| | | | | | | Basic procedure: - save/restore `menu` around call of a function (directly or indirectly called by `update`) that encapsulates some state change - override `menu` inside the function to correspond to its update loop
* gemini.tlv: stop using default backgroundKartik K. Agaram2021-12-251-2/+2
|
* gemini: better error-handlingKartik K. Agaram2021-12-251-5/+9
|
* a little more reorgKartik K. Agaram2021-12-251-3/+3
| | | | | | | | Put stuff people messing with Teliva apps are likely to need above the C interface. The state of documentation for Teliva app creators is still quite poor. All they really have to go on is the example apps.
* more precise control over menu orderKartik K. Agaram2021-12-221-5/+6
| | | | I can't believe I didn't notice this until now.
* gemini: back buttonKartik K. Agaram2021-12-221-0/+8
|
* .Kartik K. Agaram2021-12-221-1/+1
|
* .Kartik K. Agaram2021-12-221-8/+4
|
* gemini: linksKartik K. Agaram2021-12-211-19/+101
|
* gemini: slightly cleaner rendering of owner inputKartik K. Agaram2021-12-211-0/+7
| | | | | | | This still only works if I remove the call to `refresh()` inside `Wgetch()`. With that call no keystrokes are displayed. Looks like ncurses doesn't include user input when refreshing the window. Unclear if there's an easy way to support that while keeping the menu visible.
* minor tweaksKartik K. Agaram2021-12-211-1/+1
|
* gemini: ctrl-g to open a new pageKartik K. Agaram2021-12-211-67/+115
|
* start of a gemini browserKartik K. Agaram2021-12-201-0/+357