2021-11-29 16:18:28 +00:00
|
|
|
run a program
|
|
|
|
run a program, edit
|
|
|
|
run a program, edit, make an edit, run | edit takes effect
|
|
|
|
run a program with error | big picture
|
|
|
|
run a program, edit, make an error, run
|
|
|
|
run a program, edit, ^g to a different definition, make an edit, ^e to run again
|
|
|
|
run a program, edit, ^g to a non-existent definition
|
|
|
|
run a program, edit, ^g to a different definition, ^g to a different definition, ^e to run again
|
|
|
|
start -> big picture -> edit -> move cursor -> run -> edit | cursor preserved
|
|
|
|
start -> big picture -> edit A -> move cursor -> big picture -> edit B | cursor initialized
|
|
|
|
start -> big picture -> edit -> move cursor -> run -> exit -> start | big picture (optional)
|
|
|
|
start -> big picture -> edit A -> move cursor -> run -> exit -> start -> ... -> edit B | cursor initialized
|
|
|
|
start -> big picture -> edit A -> move cursor -> run -> exit -> start -> ... -> edit B | big picture
|
|
|
|
syntax highlighting for line comments
|
|
|
|
syntax highlighting for multiline comments
|
2021-12-17 04:07:59 +00:00
|
|
|
start -> big picture -> recent changes -> add note -> save | note visible
|
2021-12-22 03:52:49 +00:00
|
|
|
start -> big picture -> arrow keys* | always exactly one definition highlighted
|
2021-12-17 04:07:59 +00:00
|
|
|
|
|
|
|
It's very important not to leak space on the Lua stack, particularly
|
|
|
|
proportionate to keypresses. That's a recipe for segfaults.
|
|
|
|
|
|
|
|
This implies that bouncing around between big picture, editor, recent changes,
|
|
|
|
running app.. shouldn't grow the call stack either.
|
2021-12-21 23:13:52 +00:00
|
|
|
|
|
|
|
== security/privacy
|
|
|
|
program draws over menu -> getch -> Teliva menu is still visible
|
2022-02-02 05:06:17 +00:00
|
|
|
|
2022-03-09 03:20:53 +00:00
|
|
|
app tries to read/write sensitive teliva files (teliva_edit_buffer, etc.) -> never allowed
|
|
|
|
TODO should we protect .c sources?
|
2022-02-05 21:10:39 +00:00
|
|
|
|
2022-02-08 05:52:04 +00:00
|
|
|
TODO protect against DoS attack filling up disk
|
|
|
|
|
2022-02-05 21:10:39 +00:00
|
|
|
assumptions:
|
|
|
|
listing files in a directory is not worth sandboxing
|
|
|
|
since reading their contents is sandboxed
|
|
|
|
and since UNIX permissions protect system directories
|
|
|
|
|
|
|
|
rmdir() is not worth sandboxing, since it only succeeds on empty directories
|
|
|
|
no need to sandbox unlink() since it's not exposed
|