TextMate: условное форматирование? - PullRequest
0 голосов
/ 11 июня 2010

Я хочу иметь возможность по-разному окрашивать линии в зависимости от начального символа.

Например:

- This is line 1
- This is line 2
x This is line 3
- This is line 4
x This is line 5

Таким образом, строки 1,2,4 (начиная с '-')должен быть синим, а строки 3,5 (начинающиеся с 'x') должны быть красным.

Возможно ли это?Как бы вы это сделали?

Спасибо.

1 Ответ

0 голосов
/ 11 января 2011

Вы можете определить цвет, задав новую грамматику. Моя грамматика содержит следующее:

{   scopeName = 'text.todo';
    fileTypes = ( 'todo' );
    foldingStartMarker = '\{\s*$';
    foldingStopMarker = '^\s*\}';
    patterns = (
        {   name = 'constant';
            match = '^\s*(-.*)$';
        },
        {   name = 'variable.other.constant';
            match = '^\s*(x.*)$';
        },
    );
}

Я создал текстовую область text.todo и назначил эту грамматику файлу с именем "foo.todo".

Первый шаблон говорит: «любое количество пробелов, за которыми следует тире и все, что после него». Это соответствие называется «константой», поэтому TextMate будет использовать цвет, определенный для этой области в «Предпочтения»> «Шрифты и цвета». Константы синего цвета в моей теме.

Второй шаблон требует «x» вместо тире и вызывает совпадение «variable.other.constant», которое в моей теме оказалось красным. Это должно быть легко для вас, чтобы расширить отсюда. Если вам нужна помощь, просто нажмите знак вопроса под определением грамматики.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...