Каждый конфигурационный файл находится в /etc/colorifer и имеет стандартный формат для всех программ использующих класс Config библиотеки libing. То есть возможны параметры, описываемые внутри тегов option и группы параметров - внутри тегов group. Тег option имеет аргументы:
name - имя параметра
type - тип параметра, значение по умолчанию “string”.
Тег group имеет только один аргумент - название группы.
Строки определяются регулярным выражением, каждому регулярному выражению соответствует цвет. Возможны два типа определений: раскраска строки целиком, раскраска подстрок. При определении выражений допустима их вложенность. Соответствующая расцветка будет строго следовать этой вложенности. Например если задана следующая схема
aa.*aa: зелёный
test:красный
s:синий
То строка “aatestaa” будет изменять свой цвет в следующей последовательности “зелёный|красный|синий|красный|зелёный” Теперь подробнее о возможных параметрах в конфигурационных файлах:
redirector - полный путь к программе, вывод которой будем расцвечивать по данной схеме. В нашем случае здесь будет /usr/bin/program
pattern - группа параметров шаблона. Включает в себя два параметра: color - цвет, regexp - регулярное выражение
pattern - группа параметров шаблона. Полностью аналогична той которая в подгруппе substrings
Ниже приведён пример конфигурации. В ней расцвечивается вывод программы test. Такая же схема используется для расцветки вывода компилятора.
<?xml version="1.0"?>
<!DOCTYPE group PUBLIC "-//ALT//General Config Format V1.0//EN"
"/usr/share/xml/alt/config/1.0/config.dtd">
<group name="colorifer" type="program" >
<option name="redirector">./test</option>
<!--whole strings colorification -->
<xinclude:include href="default-c-strings.xml" parse="xml"
xmlns:xinclude="http://www.w3.org/2001/XInclude"/>
<!--extended color substitutions -->
<xinclude:include href="default-c-replaces.xml" parse="xml"
xmlns:xinclude="http://www.w3.org/2001/XInclude"/>
<group name="substrings">
<group name="pattern">
<option name="color">cyan</option>
<option name="regexp">`(.*)'</option>
</group>
</group>
</group>