Руководство по отступам столбцов в Textmate

Я хотел бы знать, есть ли где-нибудь в Textmate пакет или предпочтение, чтобы получить разделитель столбцов Sublime с белыми точками. Посмотрите на скриншоты.

Посмотрите на эту функцию PHP в Textmate

textmate screenshot
(источник: darwinsantos.com )

Теперь посмотрите на это в Sublime.

sublime screenshot
(источник: darwinsantos.com )

Если вы внимательно посмотрите, обратите внимание, что в Sublime начальная и конечная фигурные скобки связаны белой пунктирной линией, которая позволяет вам знать, что обе фигурные скобки выровнены в одном и том же столбце.

Есть ли способ получить это в Textmate?


person Darwin Santos Arismendy    schedule 04.07.2013    source источник


Ответы (1)


Обновление (5/2016): в TextMate появились направляющие отступов! Начиная с версии 2.0-beta.9.2 View->Show Indent Guides. Они находятся в стадии разработки, но они доступны.


Обновление: если вы можете заставить это работать и хотите создать свой собственный текстовый помощник, через официальные инструкции, тогда вы можете взломать здание (и, возможно, даже внести свой вклад) моя версия TextMate2 с поддержкой направляющих для сгиба. Сборок нет, и он еще не готов к внедрению в TextMate2, так как в нем нет настройки для отключения направляющих.


Эта функция находится в разработке, и когда она будет завершена, она будет значительно интеллектуальнее, чем то, что я собираюсь описать. Новая версия, когда она в конечном итоге выйдет, будет соблюдать правила отступов языка, а не просто заполнять пары пробелов/табуляции.

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

Метод обновлен, но в остальном аналогичен описанному Cocabits для Textmate1.

В итоге вы получите что-то вроде этого: fold guide demoОбратите внимание на предпоследнюю строку, в которой отсутствует пробел для запускать линии. Новая версия будет намного ближе к 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
comment
Я попробовал это в Textmate 2 и 1, и по какой-то причине это не сработало. Я также перешел по предоставленной вами ссылке, и, хотя все это имело смысл, это не сработало. Любые идеи? @ПитерСмит - person Darwin Santos Arismendy; 08.07.2013
comment
Это было сложно настроить. Вы тоже пытались создать пакет вручную? Селектор впрыска * важен. - person Graham P Heath; 09.07.2013
comment
работал у меня в Textmate 2. мне пришлось делать каждый шаг, как вы описали, к сожалению, ваш пакет не работал, но инструкции были четкими, и все работало. примечание для пользователей Textmate 2: редактирование Theme теперь выполняется в меню Edit Bundles и больше не находится в Preferences. необходимо перезапустить Textmate, чтобы все вступило в силу. - person dusthaines; 18.12.2013