Just a suggestion if any addon developer is looking for something to do. I would do it but I am working on another addon at the moment and it would require me a lot of time to test parsing (I will get good at it some day). But you pros could do it in 15 minutes I think.
First, an addon that suppress the need of using #showtooltip (only in the cases you don't use parameters after it) in macros with this simple code (not only in the item macros but no macro would need a #showtooltip anymore to display the tooltip)
Lua Code:
hooksecurefunc(GameTooltip,"SetAction",function(self,action)
local action_type,macro_id = GetActionInfo(action)
if action_type=="macro" then
local _,_,spell_id = GetMacroSpell(macro_id)
if spell_id then
GameTooltip:SetSpellByID(spell_id)
else
local _,link = GetMacroItem(macro_id)
if link then
GameTooltip:SetHyperlink(link)
end
end
GameTooltip:Show()
end
end)
This will give you space to put a /click N_items and N_items would pick the current macro text (by using GetMacroInfo(GetRunningMacro())), parse the lines with /use on them, get all items in the order they were put in the macro and do a check like in the link I provided. In this way you would avoid hardcoding the macro items into the addon. Just using the macro would inform the addon all the items to check and update the icon accordingly. This might not be all but I think the idea is clear enough.