WoWInterface

WoWInterface (http://www.wowinterface.com/forums/index.php)
-   Dev Tools (http://www.wowinterface.com/forums/forumdisplay.php?f=41)
-   -   Interactive Console Autocompletion (http://www.wowinterface.com/forums/showthread.php?t=40555)

sylvanaar 06-22-11 01:09 AM

Interactive Console Autocompletion
 
1 Attachment(s)

I have always debugged using /print commands, and I have wished that I could autocomplete the names of the variables and functions, so I finally got around to writing it. It is a work in progress, but it is functional in its current form.

I created a "mixin" type library to add autocomplete support to the WoW command line.

By autocomplete I mean completion of global identifiers and their fields.

So for example you could say:

chatframe1edi<tab> and it would complete the first proposal and subsequent tabs would cycle through the various completions.

then once you had say: "ChatFrame1EditBox"

you could type:

ChatFrame1EditBox.<tab> and see the available fields. or even ChatFrame1EditBox:<tab> and see the available functions with autocompletion available for both variants.

It still needs some work, but it is usable in its current form.

It uses a fix in the latest version of AceTab, so be sure you have that, I have submitted a patch for AceTab you can use in the meantime. http://www.wowace.com/addons/ace3/ti...atch-handling/

You can download Prat if you want to play around with this stuff, just grab the Prat-3.0_Debug folder from Prat-3.0/pullouts and put it in your addon directory along with Prat and the patched AceTab.

I wrote the source to be reusable so you can add it to any addon (with access to AceTab).

Source is here:

http://hg.wowace.com/wow/prat-3-0/ma...alcomplete.lua

Here's a screencast - keep in mind it is still sorta rough:

http://www.screencast.com/t/gRczrQJo3

To reuse it, just copy the globalcomplete.lua into your addon. If you use the addon table supplied by blizzard then it will mix right in, and you just need to call self:EnableGlobalCompletions(...)

Fredrasaurus 06-22-11 02:41 AM

That's awesome!

Thank you!

SDPhantom 06-25-11 01:51 PM

A problem I've had with developing SlashHelp is that changing the text in an editbox causes taint and until the editbox is cleared, secure commands can't be run from it. After discovering the default UI has its own tab handling for autocomplete, I left it to that.

I can look into adding in support for Lua code. I'll either have to manually provide a list of commands that support it as an argument or provide an API for third-party addons to register for.


sylvanaar 06-27-11 07:58 AM

Quote:

Originally Posted by SDPhantom (Post 239939)
A problem I've had with developing SlashHelp is that changing the text in an editbox causes taint and until the editbox is cleared, secure commands can't be run from it. After discovering the default UI has its own tab handling for autocomplete, I left it to that.

I can look into adding in support for Lua code. I'll either have to manually provide a list of commands that support it as an argument or provide an API for third-party addons to register for.


In the case of Lua code printing you don't care if it is tainted or not usually. Since your are doing (mostly) introspection rather than execution.


All times are GMT -6. The time now is 09:43 PM.

vBulletin © 2014, Jelsoft Enterprises Ltd
©2012 ZAM Network LLC