Плагин входит в дистрибутив Far Manager с v3.0.2948 (старые версии доступны тут)
Начиная с версии FarColorer 1.4.0 в плагине прекращена поддержка Windows XP. Полностью поддерживается и тестируется на Windows 10. Несколько версий Windows назад - по запросу. Но кажется, что всегда должно работать начиная с Windows 2008.
Far Manager 3.0.5797 (2021.05.10) и более новые в дистрибутиве содержат FarColorer версии 1.4.
Поддержка Windows XP осталась только на FarColorer 1.3.x. В данной ветке будут выходить только критичные исправления. Скачать можно на GitHub странице плагина. Последняя версия 1.3.30
Опционально плагин способен отображать текст в RGB режиме, и используя разные стили (bold/italic/underlined).
Этот режим называется TrueMod, он работает в FAR 3 на Windows 10 и выше, либо с Conemu.
Скриншоты можно глянуть странице проекта (актуальны только изображения, а описание немного устарело, в частности Console2 больше не поддерживается).
Для работы в обычной консоли (или в Windows Terminal) требуется активировать в Far опцию Interface settings / [x] Use Virtual Terminal for rendering.
Или подключить пользовательские *.hrd в пользовательском catalog.xml
Внимание: в пользовательском файле цветовых стилей пути вычисляются относительно catalog.xml
В настройках плагина указать путь к файлу: Users file of schemes.
(Структура файла аналогична hrc\proto.hrc)
используя папку auto:
Два варианта:
Cоздать свой аналог proto.hrc и прописать туда прототипы, а в папку types положить сами схемы.
Минимальный (пустой) пример файла прототипов есть в дистрибутиве: auto/empty.hrc.
Внимание:empty.hrc служит для примера, изменять его не рекомендуется, т.к. при обновлении изменения потеряются.
Можно обойтись без отдельного файла прототипов, а разместить схемы непосредственно в папке auto.
Прототип в этом случае должен быть определён в самой схеме после тега <hrc>, без указания location
через пользовательский catalog.xml:
Вместо штатного base/catalog.xml можно использовать свой файл, указав путь к нему в настройках плагина.
В своём каталоге можно указать откуда загружать пользовательские прототипы и схемы.
Чтобы переопределять дистрибутивные схемы собственными надо пользовательский файл прототипов подключать после штатного proto.hrc:
Также в catalog.xml можно добавить пользовательские цветовые стили, см. <hrd-sets>
Как переопределить существующую схему
Для этого достаточно подключить собственную схему с тем же именем (name).
Если требуется изменить только параметры схемы (filename, firstline, parameters), то достаточно прототипа, как он указан в common.zip!hrc/proto.hrc. location схемы при этом нужно указать примерно так (для hrc-файла, находящегося в папке FarColorer\base\auto):
Как правильно "удалить" какую-либо стандартную схему
Чтобы какая-либо из стандартных схем исчезла из меню, надо в пользовательском файле прототипов "переделать" схему в пакет с тем же именем (name), например:
Кроме имени важно также сохранить значение location, потому как даже если эта схема вам не нужна, но от неё могут зависеть другие, нужные вам.
Как использовать относительные пути и переменные окружения
В настройках плагина при указании пути к catalog.xml удобно использовать переменные окружения, такие как %FARHOME%, %FARPROFILE%.
Переменные можно использовать и в самом файле catalog.xml, и в определениях прототипов.
Кроме того поддерживаются относительные пути во всех hrc файлах (путь вычисляется относительно файла, в котором он указан). Внимание: в пользовательском файле цветовых стилей (hrd) пути вычисляются относительно catalog.xml
Если раскраска неправильна:
В первую очередь нужно убедиться что тип файла определён верно (F11/FarColorer/List types).
В случае если определился не тот тип, что требуется, можно выбрать из списка более подходящий.
Или же переопределить типы, подкорректировав "условия срабатывания" схемы, заданные в атрибутах <filename> и/или <firstline>.
Часто достаточно подкорректировать атрибут weight='2', изменив умолчательное значение (2) в ту или иную сторону.
Не рекомендуется редактировать штатные прототипы и схемы, т.к. при обновлении изменения потеряются.
Как правильно переопределить схемы описано в других пунктах данного FAQ
Сравнил файлы default.hrd в папке и в архиве common.zip. Разница только в кодировке (в файле <?xml version="1.0" encoding="windows-1251"?>, в архиве <?xml version="1.0" encoding="UTF-8"?>, но не думаю, что это существенно) и, собственно, в строке с описанием цвета ошибки <assign name="def:Error" fore="#F" back="#4"/> против <assign name="def:Error" fore="#0" back="#4"/>.
Ну ок, отредактировал файл в архиве, поставил fore="#F", перепаковал архив. Запускаю новый инстанс Far, открываю json файл на редактирование, получаю ошибку "HRD Background region 'def:Text' not found".
[main] [debug] start load hrc files
[main] [debug] try load 'jar:common.zip!hrc/proto.hrc'
[main] [debug] begin parse 'jar:D:\Apps\Far Manager\Plugins\FarColorer\base\common.zip!hrc/proto.hrc'
[main] [debug] end parse 'jar:D:\Apps\Far Manager\Plugins\FarColorer\base\common.zip!hrc/proto.hrc'
[main] [debug] try load 'auto'
[main] [debug] begin parse 'D:\Apps\Far Manager\Plugins\FarColorer\base\auto\empty.hrc'
[main] [debug] end parse 'D:\Apps\Far Manager\Plugins\FarColorer\base\auto\empty.hrc'
[main] [debug] end load hrc files
[main] [error] Can't load hrd:
[main] [error] [InputSourceException] Can't open current file in JAR content: 'hrd/console/default.hrd'
[main] [error] [ParserFactoryException] Error load hrd
[main] [debug] get system environment COLORER_HRD
[main] [debug] COLORER_HRD not set
[main] [error] Can't load hrd:
[main] [error] [InputSourceException] Can't open current file in JAR content: 'hrd/console/default.hrd'
[main] [error] [ParserFactoryException] Error load hrd
[main] [debug] begin parse 'jar:D:\Apps\Far Manager\Plugins\FarColorer\base\common.zip!hrc/lib/default.hrc'
[main] [debug] end parse 'jar:D:\Apps\Far Manager\Plugins\FarColorer\base\common.zip!hrc/lib/default.hrc'
[main] [debug] [BaseEditor] setFileType: json
[main] [debug] begin parse 'jar:D:\Apps\Far Manager\Plugins\FarColorer\base\common.zip!hrc/rare/json.hrc'
[main] [debug] begin parse 'jar:D:\Apps\Far Manager\Plugins\FarColorer\base\common.zip!hrc/lib/regexp.hrc'
[main] [debug] end parse 'jar:D:\Apps\Far Manager\Plugins\FarColorer\base\common.zip!hrc/lib/regexp.hrc'
[main] [debug] end parse 'jar:D:\Apps\Far Manager\Plugins\FarColorer\base\common.zip!hrc/rare/json.hrc'
[main] [error] HRD Background region 'def:Text' not found
что касается ошибки выше после изменения. Скоре всего после изменения файла его упковка шла ArcLite плагином , а у него метод архивации по умолчанию LZMA. Нужен Deflate. Из-за этого colorer не может прочитать архив
ctapmex wrote: Wed 16 Oct, 2024 17:22
Скоре всего после изменения файла его упковка шла ArcLite плагином , а у него метод архивации по умолчанию LZMA. Нужен Deflate. Из-за этого colorer не может прочитать архив
Именно. От души благодарю, теперь заработало
ctapmex wrote: Wed 16 Oct, 2024 17:22
откуда взялось
Я так понимаю, оно взялось из предыдущей версии плагина, когда *.hrd файлы еще не были внутри архива, а лежали просто в папке. Я обновил Far Manager с помощью плагина Renewal, который просто докачал новые и недостоющие файлы самого менеджера и его плагинов (в том числе архив common.zip), а старые файлы остались без изменений. Я когда-то давно редактировал оригинальный файл default.hrd и это изменение прекрасно работало до обновления Far Colorer.
в ночной сборке фара придет новая версия colorer. В нём есть ломающее изменение.
если вы использовали в своем catalog.xml или файлах схемы external entity с переменными окружения, то необходимо
изменить их описание.
Было <!ENTITY catalog-console SYSTEM "%FARHOME%/Plugins/FarColorer/base/hrd/catalog-console.xml">
Стало <!ENTITY catalog-console SYSTEM "env:$FARHOME/Plugins/FarColorer/base/hrd/catalog-console.xml">
Было <!ENTITY catalog-console SYSTEM "jar:%FARHOME%/data/common-allpacked.zip!hrd/catalog-console.xml">
Стало <!ENTITY catalog-console SYSTEM "jar:$FARHOME/data/common-allpacked.zip!hrd/catalog-console.xml">
Т.е. в случае указания на обычный файл с использованием переменных окружения, необходимо добавить env: и меняем формат переменной.
Для архивов остается jar:, но меняется формат переменной.
ну в итории версий отражено.
вообще есть желание, задачка в бэклоге, прописать всё. надеюсь в ближайшее время займусь.
тут начинал https://github.com/colorer/Colorer-libr ... cs/base.md , сейчас, получается, немного не актуально
Места, наверное, текущая папка. Но это понятие плавающее, поэтому и файлы в неожиданных местах оказываются.
Появляется и по умолчанию и с (-el off), что должно быть одно и то же, по хелпу. Так и есть, только при off файл не должен бы создаваться.