Hi
When updating a syntax, I encountered a behavior with prototypes that may not be obvious at first. At the line 49 I match a heredoc’s beginning and set the new context that will change based on the escaped character or embedded variable.
The problem is the prototype, ideally I would write it like so:
`
- match: (?i)^\1;$
scope: >-
string.unquoted.heredoc.php.7
punctuation.delimiter.string.end.php.7
pop: true
`
using the capturing group matched in the line 49 but as soon as I set a new context, the group becomes null. I understand why this behavior occurs, as sublime will:
1: Embed the prototype into the contexts
2: Resolve the groups when the match is executed
Can it be reversed in a sublime’s new version?
1: Resolve the groups at the declaration of the prototype
2: Embed the prototype with the groups resolved into the contexts
It would make more sense since we declare the prototype immediately after the parent match.
Thanks