Подсветка пробелов TextMate - PullRequest
0 голосов
/ 21 мая 2009

Я хочу изменить решение для выделения конечных пробелов, описанное здесь , НЕ выделяя пробелы в пустых строках.

Я изменил это в своем языковом файле Python:

        {   match = '(\s+)$';
        captures = { 1 = { name = 'invalid.whitespace'; }; };
    },

К этому:

        {   match = '\S(\s+)$';
        captures = { 1 = { name = 'invalid.whitespace'; }; };
    },

Это новое выражение, кажется, больше ничего не соответствует. Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 21 мая 2009

Проблема с вашим шаблоном состоит в том, что предыдущий непробельный символ, по-видимому, уже соответствует другому правилу и, следовательно, недоступен вашему правилу. Использование утверждения, как предполагает porneL, является правильным способом сделать это.

1 голос
/ 21 мая 2009

Попробуйте утверждения:

(?<=\S)\s+$

Они хорошо описаны в Руководстве по PHP (конечно, они не специфичны для PHP, просто php.net имеет вполне читаемую версию документа).

...