On Thu, 31 Jul 2014 13:05:52 +0200, Allan Odgaard wrote:
[…] I tried many variations of the following, added just below the existing meta.embedded.sql rule
I only see one rule with that name, it is included as part of `heredoc_interior`.
I mean _I_ added it just below the existing meta.embedded.sql rule, like this:
{ name = 'meta.embedded.sql'; begin = '(<<<)\s*([''"]?)(SQL)(\2)\s*$\n?'; end = '^(\3)\b'; beginCaptures = { 0 = { name = 'punctuation.section.embedded.begin.php'; }; 1 = { name = 'punctuation.definition.string.php'; }; 3 = { name = 'keyword.operator.heredoc.php'; }; }; endCaptures = { 0 = { name = 'punctuation.section.embedded.end.php'; }; 1 = { name = 'keyword.operator.heredoc.php'; }; }; contentName = 'source.sql'; patterns = ( { include = 'source.sql'; } ); }, { name = 'meta.embedded.sql'; begin = '($db)->(query)((")'; end = '(\3));'; beginCaptures = { 0 = { name = 'variable.other.php'; }; 1 = { name = 'meta.function-call.object.php'; }; 2 = { name = 'string.quoted.double.php'; }; }; endCaptures = { 0 = { name = 'string.quoted.double.php'; }; }; contentName = 'source.sql'; patterns = ( { include = 'source.sql'; } ); },
The first one is stock, the second a custom rule. Or is it illegal to have two rules with the same 'name'? Clearly I've forgotten how to do this correctly, any advice is appreciated.
Quinn