summaryrefslogtreecommitdiff
path: root/lib/lua-repl/Roadmap.md
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-12-13 16:10:08 +1100
committerjacqueline <me@jacqueline.id.au>2023-12-13 16:10:08 +1100
commit64b106c13e18c33be0f2b0de532054e0ed3f731d (patch)
treeb54b1c90d941bc456b4d51e864970720bdf2d648 /lib/lua-repl/Roadmap.md
parent5a2f0b08e0e3f20cda977b510b680d5843ae7283 (diff)
downloadtangara-fw-64b106c13e18c33be0f2b0de532054e0ed3f731d.tar.gz
add a cool lua repl
Diffstat (limited to 'lib/lua-repl/Roadmap.md')
-rw-r--r--lib/lua-repl/Roadmap.md44
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/lua-repl/Roadmap.md b/lib/lua-repl/Roadmap.md
new file mode 100644
index 00000000..baaa3870
--- /dev/null
+++ b/lib/lua-repl/Roadmap.md
@@ -0,0 +1,44 @@
+0.10
+===
+
+ * Process Lua command line options with rep.lua
+ * Verify that it works with LuaJIT, Lua 5.0, Lua 5.2, LuaJ or something
+ * __pretty support for pretty print plugin
+ * __complete support for completion plugin
+ * Documentation improvements
+ * More clearly reference PLUGINS.md from README.md
+ * More clearly reference rep.lua from README.md
+ * Make sure that autocompletion is talked up in plugins.md (and mention in readme that many default/optional behaviors are present there)
+ * Make sure documentation on ~/.rep.lua is clear
+ * Move docs into doc/
+
+Future
+======
+
+ * Plugins
+ * where do plugins store values (self, storage object, etc?)
+ * configuration
+ * global assignments in plugins
+ * we need a way to do method advice in REPL "subclasses"
+ * test: using advice from within ifplugin/iffeature
+ * luaish plugin
+ * moonscript plugin - compile Moonscript instead of Lua
+ * Steal ideas from ilua
+ * Variables in ilua must be declared before use
+ * -L is like -l, except it automatically brings it into the global NS
+ * require() wrapper that does this ↑
+ * table display logic control, float precision control
+ * print\_handler (custom print logic for types)
+ * \_\_pretty
+ * global\_handler (custom lookup logic to complement strict mode)
+ * easily done via a plugin
+ * line\_handler (custom handling of lines before being processed)
+ * Steal ideas from luaish
+ * Shell commands (lines beginning with ., filename completion)
+ * Steal ideas from http://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print\_loop
+ * Steal ideas from pry, ipython, bpython, Devel::REPL, Factor REPL
+ * Steal ideas from https://github.com/tpope/vim-foreplay
+ * Async implementation
+ * GTK implementation
+ * IRC bot implementation
+ * Awesome library