From 01bfba0af03ced139c6059e484974ab8b87bcade Mon Sep 17 00:00:00 2001 From: Francesco Abbate Date: 2012年8月10日 19:08:29 +0200 Subject: Introduce the help system for the console The included documentation is just a small fragment of the all the available functions. --- help.lua | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 help.lua (limited to 'help.lua') diff --git a/help.lua b/help.lua new file mode 100644 index 00000000..c0a3b4af --- /dev/null +++ b/help.lua @@ -0,0 +1,40 @@ + +local help_files = {'graphics'} +local help_cache = {} + +local function cache_function(func, help_text) + help_cache[func] = help_text +end + +local function cache_lookup(func) + return help_cache[func] +end + +local function open_module(modname) + local fullname = string.format('help/%s.lua', modname) + local m = dofile(fullname) + return m +end + +local function search_help(func) + for k, modname in ipairs(help_files) do + local module = open_module(modname) + if module[func] then + local help_text = module[func] + cache_function(func, help_text) + return help_text + end + end +end + +-- declare a global function +function help(func) + local txt = cache_lookup(func) + if txt then return txt end + txt = search_help(func) + if txt then + echo(txt) + else + echo("Cannot find help for the given function.") + end +end -- cgit v1.2.3

AltStyle によって変換されたページ (->オリジナル) /