19

Как вы можете получить цвет в окне вывода сборки ST3?

Я использую gccfilter, чтобы раскрасить результаты сборки, но ST3 просто отображает необработанные escape-последовательности. Есть ли способ заставить его обрабатывать их? Или удалить gccfilter и просто заставить ST3 раскрасить вывод (например, просто grep при предупреждении и ошибке будет в порядке)?

2 ответа2

16

Последние версии системы сборки Makefile в ST3 (как описано в файле Make.sublime-build) уже содержат определение синтаксиса, которое создает цветной вывод.

Если вас это не устраивает, вот что вы можете сделать как альтернативный и общепринятый подход, если у вас есть система сборки, которая выдает цвета ANSI в терминале, и вы хотите, чтобы они отображались на панели вывода сборки Sublime Text 3 ,

Вот как я это сделал в моей установке Sublime Text 3 для RSpec, но я думаю, что она идеально подходит в любом случае для инструмента, создающего цвет в обычной консоли /TTY:

1. Заставьте вашу систему сборки выводить цвета, даже если она не выводится на TTY.

Это зависит от системы сборки. Например, для Ruby и RSpec вы можете создать в своем проекте файл .rspec со следующим содержимым:

--color --tty

В вашем случае у вас уже есть система сборки, которая выдает выходные данные с цветными escape-последовательностями ANSI.

2. Установите пакет ANSIescape (SublimeANSI)

Рекомендуется установить его через управление пакетами. См. Репозиторий для инструкций по установке и настройке.

3. Создайте новое определение системы сборки в Sublime Text и настройте его на распознавание цветов ANSI.

Например, вот содержимое моей Colorized RSpec.sublime-build :

{
    "cmd": ["rspec", "-I ${file_path}", "$file"],
    "file_regex": "# ([A-Za-z:0-9_./ ]+rb):([0-9]+)",
    "working_dir": "${project_path:${folder:${file_path}}}",
    "selector": "source.ruby.rspec",
    // Recognize ANSI colors in the output
    "target": "ansi_color_build",
    "syntax": "Packages/ANSIescape/ANSI.tmLanguage"
}

Последние два варианта конфигурации взяты из readme SublimeANSI. Вы можете применить это к вашей системе сборки для Make. Вы можете использовать его в текущей версии файла Make.sublime-build из пакетов Sublime Text 3.

4. Создайте свой файл / проект, используя только что созданную систему сборки.

Используйте меню «Build with ...», чтобы выбрать новую систему сборки. На OS X это Cmd + Shift + B Последующие сборки с помощью Cmd + B будут использовать эту последнюю выбранную систему сборки.

Вот как это выглядит:

5

В настоящее время нет способа заставить консоль ST3 анализировать цвета, которые я нашел. Это нужно будет обсудить с автором. Я заметил ранее, что консоль всегда имеет монохроматический вывод. В настоящее время ST3 использует только те цвета, которые указаны в теме, которую вы применили к ней.

Единственный способ избавиться от escape-последовательностей - отфильтровать их до того, как результат попадет в Sublime.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .