Обновление (5/2016): в TextMate появились направляющие отступов! Начиная с версии 2.0-beta.9.2 View
->Show Indent Guides
. Они находятся в стадии разработки, но они доступны.
Обновление: если вы можете заставить это работать и хотите создать свой собственный текстовый помощник, через официальные инструкции, тогда вы можете взломать здание (и, возможно, даже внести свой вклад) моя версия TextMate2 с поддержкой направляющих для сгиба. Сборок нет, и он еще не готов к внедрению в TextMate2, так как в нем нет настройки для отключения направляющих.
Эта функция находится в разработке, и когда она будет завершена, она будет значительно интеллектуальнее, чем то, что я собираюсь описать. Новая версия, когда она в конечном итоге выйдет, будет соблюдать правила отступов языка, а не просто заполнять пары пробелов/табуляции.
Тем не менее, я использовал это, чтобы убедиться, что бесчисленные строки шаблонов идеальны.
Метод обновлен, но в остальном аналогичен описанному Cocabits для Textmate1.
В итоге вы получите что-то вроде этого: Обратите внимание на предпоследнюю строку, в которой отсутствует пробел для запускать линии. Новая версия будет намного ближе к Sublime.
Сначала нам нужно научить TextMate определять табуляции и пробелы, которые мы используем перед каждой строкой кода.
Я создал набор сложенных руководств, однако это первый раз, когда я раздаю его и Я боюсь, что это просто не сработает для вас, что сказал, попробуйте.
Если это не сработает, вам нужно будет вручную добавить эти правила, я покажу вам, как сделать его собственным пакетом, но вы можете добавить его непосредственно на любой язык, который вам нравится.
Создайте пакет из Bundles->Edit Bundles, затем File->New, выберите пакет и дайте ему имя, затем File->New и создайте грамматику. Грамматика должна иметь этот код:
{ patterns = (
{ include = '#leading-spaces'; },
{ name = 'meta.leading-tabs';
begin = '^(?=\t)';
end = '(?=[^\t])';
patterns = (
{ match = '(\t)(\t)?';
captures = {
1 = { name = 'meta.odd-tab'; };
2 = { name = 'meta.even-tab'; };
};
},
);
},
);
repository = {
leading-spaces = {
begin = '^(?=\s\s)';
end = '(?=[^\s\s])';
patterns = (
{ match = '(\s\s)(\s\s)?';
captures = {
1 = { name = 'meta.odd-tab'; };
2 = { name = 'meta.even-tab'; };
};
},
);
};
};
}
И инспектор должен выглядеть так:
Теперь нам просто нужно правило темы, соответствующее «meta.even-tab» и/или «meta.odd-tab», так что просто добавьте это к вашей текущей теме:
{name = 'Alternating Tabs';
scope = 'meta.even-tab';
settings = {
background = '#232323';
};
}
person
Graham P Heath
schedule
05.07.2013