Lua module for interactively printing and browsing Lua values from the standalone interpreter.
Should be compatible with Lua 5.1, 5.2 and 5.3 as well as with LuaJIT.
Adds a parameterless function browse
to the debug
module on require "debug.browser"
Keeps a linear history of visited values and therefore keeps references to values that otherwise might have been garbage collected.
Shows also meta values like
- environments
- upvalues
- metatables
- table keys which are tables, functions, treads or userdata
Just copy the file src/debug/browser.lua
to your local lua files or use luarocks
luarocks install lua-value-browser
...
> require "debug.browser"
> debug.browse()
Lua value browser 0.2
Copyright (C) 2010-2018, [email protected]
Type 'q' to quit, 'help' for help
: help
Browse Lua runtime values, like a web page.
Available Commands:
[@]<expr> (h)elp (f)orward (b)ack (r)eload .<link> (t)ab (q)uit
<enter> executes one of the above commands
[@]<expr> show data entity for Lua <expr>, @ escapes commands
help (h) show this message
forward (f) history forward
back (b) history back
reload (r) reload current
.<link> select .<link>
.<prefix> complete to next matching link with prefix .<prefix>
tab (t) selects the next link
quit (q) quit browser
: _G
(_G): table
= {
_G: table = ._G,
_VERSION: string = Lua 5.1,
assert: function = .assert,
bit: table = .bit,
collectgarbage: function = .collectgarbage,
coroutine: table = .coroutine,
debug: table = .debug,
dofile: function = .dofile,
error: function = .error,
gcinfo: function = .gcinfo,
getfenv: function = .getfenv,
getmetatable: function = .getmetatable,
io: table = .io,
ipairs: function = .ipairs,
jit: table = .jit,
load: function = .load,
... and so on
}
: quit
> debug.browse()
: reload
...