GSE: Sequences, Variables, Macros

GSE: Sequences, Variables, Macros

7M Downloads

Parser not handling two sets of []'s in a macro

TimothyLuke opened this issue ยท 5 comments

commented

/castsequence [@mouseOver,help,nodead][@player] testcase

commented

This macro fails due to this issue if you want something to test with. https://wowlazymacros.com/forums/topic/shadow-priest-7-1-5-gse-2-0-2/
It works fine with 2.0.7, after that the parsing broke.

commented

After 2.0.7 the parser was fixed to solve a lot of other problems.
see #201 #207 #220 #210

commented

need to find a way of splitting this string but keeping it as:

[modifier1, modifier2, modifier3] spell,

commented

problem is here - https://github.com/TimothyLuke/GnomeSequencer-Enhanced/blob/master/GSE/API/translator.lua#L137

      elseif string.lower(cmd) == "castsequence" then
        GSE.PrintDebugMessage("attempting to split : " .. etc, GNOME)
        for x,y in ipairs(GSE.split(etc,";")) do
          for _, w in ipairs(GSE.split(y,",")) do
            --look for conditionals at the startattack
            local conditionals, mods, uetc = GSE.GetConditionalsFromString(w)

WHen /castsequence [@mouseover,help,nodead][@player] testcase happens it first takes the /castsequence away reducing it to [@mouseover,help,nodead][@player] testcase

it then splits this based on , logic here is that spells are split by , in a cast sequence eg /castsequence spell1, spell2, spell3

what its actually doing is splitting it into and trying to translate.
[@mouseOver
help
nodead][@player] testcase

It doesnt understand [@mouseOver or help so ignores them and then tries to evaluate nodead][@player] testcase

it dumps everything to the front of the [ reducing it to [@player testcase] and then puts it all together resulting as
/castsequence [@mouseOver,help,[@player] testcase

commented

put the new parser in and its behaving properly without breaking the existing stuff.

https://travis-ci.org/TimothyLuke/GnomeSequencer-Enhanced/builds/194363062#L709

This will be released later tonight after i get home