Последние версии системы сборки 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
использованием этой последней выбранной системы сборки.
Вот как это выглядит:
В настоящее время нет способа заставить консоль ST3 анализировать цвета, которые я нашел. Это нужно будет обсудить с автором. Я заметил ранее, что консоль всегда имеет монохроматический вывод. В настоящее время ST3 использует только те цвета, которые соответствуют теме, которую вы применили к ней.
Единственный способ избавиться от escape-последовательностей - отфильтровать их до того, как результат попадет в Sublime.
источник