Lua Browser

Description
Using Lua Browser allows you to easily browse through the Lua environment, tables, widgets and other values.
This can be quite useful when developing addons.

The currently browsed root will have a reference in the global variable "lbRoot", this makes it easier to manipulate it using /run scripts and the likes.

Please note this is an advanced tool, do not use this unless you know what you are doing.

Controls
The Left click action depends on which item is under the mouse.
Tables and Widgets will be opened like a folder in normal file browsing. Hold down shift to try and open any possible metatables this table might have.
For functions, the function will be called, if you hold down shift, it will be called with "self" as the first parameter.

Right clicking will go back in history, to the previous browsed table.
If you hold down shift while right clicking, the key will be deleted!

You can link things into the chat editbox like normally. Open up the chat editbox, hold down shift and click an item.

Slash Commands
The slash command for Lua Browser is "/lb". Below are the valid parameters.

"/lb code <code>"
Executes the code and browses the result.

"/lb filter <word>"
You can use this to filter out what is shown, very useful in _G.

"/lb mouse"
Sometimes frames are unnamed, and the easiest way to get to them is through GetMouseFocus().

"/lb mousemeta"
Allows you to browse the meta table of the widget under the mouse.

Lua Browser Changes | 2010 Nov 10
- Changed the TOC version to 40000 for the 4.0.1 pre Cataclysm patch.
- Added a "/lb codemeta" slash command. This works exactly like the "/lb code" slash command, but will return the metatable of the code.
- Added "/luabrowser" as an alternative, to the already existing "/lb" slash command.
- Filters now searches the value of strings and numbers for a match.
- If the currently browsed root is a frame, and that frame has a name, it will now be display in the top right.

Lua Browser Changes | 2010 Jun 28
- Corrected the error that could happen when clicking on an item, which was introduced with the latest "ChatFrameEditBox" fix.

Lua Browser Changes | 2009 May 18
- Changed the TOC version to 30100 for the 3.1 patch.
- If you move the mouse over the window showing the address of the current root, it will show a tip with how many of each data type is in this table.
- Filter settings are now saved per root, instead of a global setting, this should make browsing back and forth from _G a lot more pleasent.
- Did a few code optimisations.

Lua Browser Changes | 2009 Apr 07
- Fixed a bug that caused not all keys in a table to be shown.

Lua Browser Changes | 2009 Apr 06
- Now sets the global variables "lbRoot" to the current browsed table. This is done so you can easily work with the table in a custom script using "/run" or similar.
- Some other issues related to showing tables with metatables, is now fixed by using rawget() everywhere instead of normal table access.
- Removed some global pollution from the sort function.
- Now shows a the current table address next to the close button.
- If a table had a metatable with an "__index" function, which would return a value or give an error when accessing table[0], Lua Brower were not able to detect widget objects. This problem has been resolved by testing existance with rawget().
- Fixed an error if a table key was anything but a string or number.
- If you hold down shift when selecting a type filter, it will be selected exclusivly.
- Added the slash command "/lb mousemeta", allows you to browse the meta table of the widget under the mouse.
- Removed the global slash command "/lb global <key>", use "/lb code <code>" instead.

Hello,
neat addon, however the scroll frame seems to be a bit broken. It's hard to explain, probably easier if you can see for yourself, but it's as if... first it shows items 1, 3, 5, then you scroll and it shows items 2, 4, 6. Something like that.

Ferous
Nope, I am not. But I wanted to see the effect of updating the TOC of all my addons, no code was changed at all. So it's pretty much just a shameless bump of my addons, with the plus side that I hopefully wont get more messages asking for a TOC update

Nafe
Thanks for posting this info, exactly what I needed. However, where did you read this, I've tried downloading the latest Interface Addon Kit, but it seems to be the 3.3.0 and not the 3.3.5, so it doesn't contain this function.

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.