HasAura seems to becoming less and less buggy over time, thanks for working on it. Still it's not updating in realtime so it needs more fixing. Right now with my self-buff display code it's only updating when I target myself. If I have myself targeted and gain or drop a buff it will not update until I drop target and then re-target myself. It will only ever update what buffs you have when you target yourself.
For reference, the code I'm using on my player frame is as follows:
[outline (if HasAura("Arcane Intellect") or HasAura("Arcane Brilliance") then
end) (if HasAura("Power Word: Fortitude") or HasAura("Prayer of Fortitude") then
end) (if HasAura("Divine Spirit") or HasAura("Prayer of Spirit") then
end) (if HasAura("Mark of the Wild") or HasAura("Gift of the Wild") then
end) (if HasAura("Shadow Protection") or HasAura("Prayer of Shadow Protection") then
Also, [TalentTree] and [TalentSpec] currently only seem to show my own spec and (I think) the spec of people in my party/raid. I'm going to assume it's an issue with the talent lib and not DogTags, but I figured I'd note it here just in case.
EDIT: It also seems to update HasAura when I mouseover the unit frame. It just doesn't continually update the auras when I'm not interacting with the frame.
The Target tag basically returns the unitid of the current unit plus "target". In CowTip, the default unit is "mouseover" since you usually want your tooltip to show information about the person you're mousing over. Therefore Target is equivalent to "mouseovertarget", and Target:Exists is just another syntax for Exists(unit=Target).
I chose those tricks to make the tag a bit shorter and more readable; they're really just shortcuts. If you wanted to, you could write the same tag as [~IsFriend?Exists(unit="mouseovertarget")?("Target: " Name(unit="mouseovertarget"))]