This input macro…
/petautocastoff [group,@focus,help,nodead][group:raid]Growl
/cast [nogroup:raid,group,@focus,help,nodead][@pet,exists,nodead]Misdirection
/click ElvUI_Bar5Button11
/click ElvUI_Bar5Button12
…comes out in my (very rough) data like this…
{
"if . . .", -- [1]
" [group,@focus,help,nodead]", -- [2]
" [group:raid]", -- [3]
"then . . .", -- [4]
" /petautocastoff Growl", -- [5]
"if . . .", -- [6]
" [nogroup:raid,group,@focus,help,nodead]", -- [7]
" [@pet,exists,nodead]", -- [8]
"then . . .", -- [9]
" /cast Misdirection", -- [10]
" /click ElvUI_Bar5Button11", -- [11]
" /click ElvUI_Bar5Button12", -- [12]
}
This one…
#showtooltip
/cast [combat][mod:shift]Disengage;[mod:alt]Traveler's Tundra Mammoth;[mod]Vicious War Spider;Expedition Bloodswarmer
…comes out like this…
{
" #showtooltip ", -- [1]
"if . . .", -- [2]
" [combat]", -- [3]
" [mod:shift]", -- [4]
"then . . .", -- [5]
" /cast Disengage", -- [6]
"if . . .", -- [7]
" [mod:alt]", -- [8]
"then . . .", -- [9]
" /cast Traveler's Tundra Mammoth", -- [10]
"if . . .", -- [11]
" [mod]", -- [12]
"then . . .", -- [13]
" /cast Vicious War Spider", -- [14]
" /cast Expedition Bloodswarmer", -- [15]
}, -- [18]
Clearly there is more work to do. I especially need to work out a way to gracefully deal with indicating unconditional actions in a way that differentiates them from the “ELSE” part of an if/then/else fall-through.
This is NOT REMOTELY what the output will look like when it’s finished, but it does show good progress.
I did discover that the explain process is fast enough that I can do the entire library of macros in under 1/20th of a second, so I’m just going to run them all every time there’s an update to macros rather than worrying about picking them up one at a time.
Right now I’m dumping the display into a Saved Variables file. Getting it to show up nicely on screen is a different process.
But, tabling up the explain is a good way to start that.
Thanks for all the help, both past and (I’m sure) in advance for the future, guys.