[TxMt] Re: bug in syntax highlighting?
Martin Kühl
martin.kuehl at gmail.com
Tue Nov 8 20:23:50 UTC 2011
On Tue, Nov 8, 2011 at 21:01, Thomas Blom <blomcode at gmail.com> wrote:
> Thankyou! I didn't mean to denigrate textmate, but had been wondering why
> things didn't look as nice as I thought they should, when I realized the
> regex was causing problems!
So the problem is that the grammar doesn't recognize the "simple" regexp
in your example and tries to match it as an extended regexp instead
(i.e. /\\/x works).
This means that the problematic pattern in the grammar is
'string.regexp.find.perl', which is defined as:
(?<!\\)((~\s*)?\/)(\S.*?)(?<!\\)(\\{2})*(\/)
specifically, the third group `(\S.*?)` which unconditionally eats the
first backslash, which prevents the negative look-behind `(?<!\\)` from
matching (there are backslashes everywhere!) until the closing slash
gets eaten.
We could fix this case by changing the pattern to
(?<!\\)((~\s*)?\/)(.*?)(?<!\\)(\\{2})*(\/)
but I don't know which edge cases we'd introduce by allowing whitespace
after the opening slash.
Cheers,
Martin
More information about the textmate
mailing list