diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-12-13 16:10:08 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-12-13 16:10:08 +1100 |
| commit | 64b106c13e18c33be0f2b0de532054e0ed3f731d (patch) | |
| tree | b54b1c90d941bc456b4d51e864970720bdf2d648 /lib/lua-repl/IDEAS.md | |
| parent | 5a2f0b08e0e3f20cda977b510b680d5843ae7283 (diff) | |
| download | tangara-fw-64b106c13e18c33be0f2b0de532054e0ed3f731d.tar.gz | |
add a cool lua repl
Diffstat (limited to 'lib/lua-repl/IDEAS.md')
| -rw-r--r-- | lib/lua-repl/IDEAS.md | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/lua-repl/IDEAS.md b/lib/lua-repl/IDEAS.md new file mode 100644 index 00000000..8b7eba24 --- /dev/null +++ b/lib/lua-repl/IDEAS.md @@ -0,0 +1,43 @@ + * plugins + * replace /^=/ with 'return' + * handle locals + * override debug.debug + * supple (http://cgit.gitano.org.uk/supple.git) + * handle locals (debug.sethook?) + * debug.sethook, catch return of our chunk and grab its locals + * rewrite source code/bytecode before evaluation + * custom interpreter patch to "pcall and get bindings" + * custom module that dips into internals to "pcall and get bindings" + * some sort of debugger? + * don't contaminate globals + * tab completion (\_\_complete metamethod) + * "safe" evaluation (don't allow calling of C functions, except for those in a whitelist?) + * displaystack instead of displayerror(err)? (should xpcall return false, stack\_table?) + * visual REPL (like Factor; being able to print multi-colored/multi-sized text, images, etc) + * syntax highlighting + * paren/brace matching? + * snippets? + * code navigation (go to definition?) + * repls that "attach" to different objects (ie. inspect a single object; self is that object. completions happen against that object?) + * browsable/searchable REPL history + * not entirely sure what I mean here... + * safe termination of evaluated code (if I Control-C during an evaluation) + * store stdout/stderr output in a variable somewhere? + * persistence (pluto-based image) + +hooks +===== + + * what to do when we encounter an incomplete Lua fragment + * processing a line + * something for debug.debug... + +Implementations +=============== + + * Console + * GUI + * Web + * IRC + * safety hooks + * Awesome |
