У вас есть библиотека схем, поставляемая с библиотекой/плагином/утилитой или скачанная со страницы проекта (далее называем её базовой библиотекой). Как настроить базовую библиотеку под свои предпочтения? Ниже приведены ответы на часто задаваемые вопросы по этой теме.
Позиция автора заключается в том, что модифицировать базовую библиотеку нужно только в редких случаях. Все настройки необходимо делать во вне, не трогая базовую библиотеку. Это позволит в дальнейшем легко обновиться на новую версию. Если вы, всё же, решили изменить базовую библиотеку, создав свою библиотеку, то через параметры приложения можно указать до неё путь. Например, FarColorer по умолчанию использует библиотеку схем, находящуюся в папке плагина.
Своя схема у вас уже создана, процесс создания тут не рассматривается.
[regex] support named capture groups and backreferences, like (?<name>bar) \k<name>
and (?'name'bar) \k'name'
Возможны следующие варианты:
-
Указать в параметрах приложения путь до файла с описаниями (прототипами) пользовательских схем (аналог proto.hrc), файла с полноценной схемой (прототип + описание типа) или директории с *.hrc файлами.
-
Использовать папку
auto
. В зависимости от используемой поставки базовой библиотеки, папкаauto
может находиться по пути/hrc/auto
или/auto
относительно корня библиотеки схем. Этот вариант совпадает с предыдущим, только пользовательские схемы хранятся внутри базовой библиотеки. Для этого можно:- Создать в папке
auto
аналог proto.hrc и прописать туда прототипы своих схем, а в папку/auto/types
положить описание типа. Минимальный (пустой) пример файла прототипов есть в дистрибутиве/auto/empty.hrc
.
Внимание: empty.hrc служит для примера, изменять его не рекомендуется, т.к. при обновлении изменения потеряются. - Можно обойтись без отдельного файла прототипов, а разместить схемы непосредственно в папке
/auto
. Прототип в этом случае должен быть определён в самой схеме после тега , без указания location.
Папка auto загружается после загрузки базовых схем (если не меняли порядок в catalog.xml)
- Создать в папке
-
Изменить
catalog.xml
. Добавить в блок<hrс-sets>
путь до папки или файла, где содержаться прототипы или схемы файлов.\ -
Изменить
proto.hrc
базовой библиотеки. Добавить свой прототип и путь до схемы типа файла.\
Для того чтобы в существующей схеме использовался пользовательский hrc файл, взамен базового, необходимо идти по пути подключения собственной схемы, но использовать старое имя.
Загрузка схем идет в порядке следования в catalog.xml и указанных в нем hrc файлах. При совпадении имен прототипов старый будет удален и загрузится новый.
Если требуется изменить только параметры схемы (блок parameters в описании прототипа), то возможны следующие варианты:
-
Указать значения параметров в файле
hrcsettings.xml
, путь до которого передается в параметрах приложения.
Формат файла:<?xml version="1.0" encoding='UTF-8'?> <hrc-settings> <prototype name="c"> <param name="ansi-defines" value="true"/> <param name="win32-specific" value="true"/> </prototype> <prototype name="default"> <param name="maxlinelength" value="5000" description="Maximum parsed length of line of the text"/> <param name="maxblocksize" value="300" description="Maximum length of regexp block in text"/> </prototype> </hrc-settings>
Для нужных прототипов указываются изменяемые параметры и их новые значения. Для прототипа default можно указать параметры, которые будут действовать на все прототипы как значения
по умолчанию. Атрибут description
не обязательный, если задан, то заменит название описанное в прототипе.
- Воспользоваться возможностями по настройке параметров в приложении. Например, FarColorer содержит свои диалоги настройки параметров.
- Переопределить существующую схему, скопировав содержимое прототипа и изменив значения параметров. Обязательно откорректировать путь в location.
Часть схем имеет зависимость от других. Поэтому полное удаление схемы может привести к поломке отображения других. Если необходимо отключить возможность выбора схемы для файлов, то
достаточно перевести её в разряд пакетов с тем же именем. Т.е. переопределить существующую схему, заменив prototype
на package
, и указав путь до неё. Например:
<package name="ant" description=" ">
<location link="scripts/gen/ant.hrc"/>
</package>
Если всё же схему необходимо полностью удалить, то это можно сделать переопределением схемы с указанием несуществующего location. При загрузке могут быть сообщения об ошибке, но работа библиотеки продолжится.
Возможны следующие варианты:
-
Указать в параметрах приложения путь до файла с описаниями пользовательских стилей раскраски.
Формат файла:<?xml version="1.0" encoding="UTF-8"?> <hrd-sets> <hrd class="rgb" name="my-super" description="My new super style"> <location link="c:/user/test/super.hrd"/> </hrd> </hrd-sets>
-
Изменить
catalog.xml
. Добавить в блок<hrd-sets>
свои собственные стили. Пример добавление одного стиля:<hrd class="rgb" name="my-super" description="My new super style"> <location link="c:/user/test/super.hrd"/> </hrd>
-
Изменить один из
hrd/catalog-*.xml
, на который ссылается catalog.xml. Добавить стили по примеру в файле.