LibMindReader is a mixin library (can also run 'not mixed in') that generates an AceConfigDialog-table from a variable. Running this table then allows the user to peek, poke and prod the variable in the following ways:
- The table structure is shown as a tree. Efforts have been done do avoid recursiveness due to tables linking each other.
- Selecting a table node in the tree shows an input box where the user can input some code and execute it as a method of that node.
- Selecting a number or a string shows an input box where the value can be viewed and edited. Editing is not available if the number or string is not a member of a known table.
- Selecting a function shows an execute button to execute the function. An inputbox is also provided to type in code to generate parameters for the call.
Because the parameters of a function can not be determined from within Lua the addon being debugged can provide LibMindReader with a tip through calling of :AddFtionTip(func, paramstring, ismethod) or :AddFtionTips(tiptable).
When building the AceConfig-node for the function LibMindReader will use paramstring to help the user.
The builds can be managed using a standalone addon called MindBrowser (not yet created) which will also be able to add function tips to copy/pasted source code (so you lazy gits don't have to ;) ).
Official thread: http://forums.wowace.com/showthread.php?t=14941