Плагин входит в дистрибутив Far Manager с v3.0.2948 (старые версии доступны тут) Поддержка Windows XP
Начиная с версии 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 требуются специальный эмулятор консоли: Conemu.
Скриншоты можно глянуть странице проекта (актуальны только изображения, а описание немного устарело, в частности Console2 больше не поддерживается).
Или подключить пользовательские *.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
Тонкая настройка подсветки для отдельной схемы: в теме.
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Wed 13 Nov, 2013 13:53
by difr
Latest post of the previous page:
подскажите, пожалуйста, что нужно изменить в "sql.hrc", чтобы в выражении типа "select * from v$access" имя "v$access" рассматривалось как одно (целое) слово, а не как два (или три).
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Wed 13 Nov, 2013 14:21
by Sim
кто занимается продакшеном? исправьте уже файл "php-script.ent.hrc" в "base\hrc\common.jar"
а то я устал уже после каждого обновления руками его заменять на нормальный.
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Wed 13 Nov, 2013 19:43
by lazyeugene
Я сделал коммит с исправленными модификаторами, только у вас неверный список модификаторов, допустимых для отдельной группы прямо внутри регекспа. Список разрешённых модификаторов.
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Wed 13 Nov, 2013 20:18
by Sim
Ну я вроде вносил правки только для модификаторов, которые в конце ставятся, разве нет?
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Wed 13 Nov, 2013 21:12
by lazyeugene
Нет, не только. Я поправил и те и другие согласно документации.
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Fri 15 Nov, 2013 10:40
by progreCCor
Слишком длинная строка "сломала" colorer
у меня в css встречаются "встроенные" изображения...
например
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Fri 15 Nov, 2013 14:44
by kobri
Проблема с большим maxlinelength в том, что он вносит лишнее торможение, хотя раскраска в таких огромных строках всё равно не нужна, особенно учитывая, что в фаре нет свёртки строк. Я бы предложил такие строки вообще не раскрашивать (ну или раскрашивать, но следующую строку красить как будто этой не было) так больше вероятность, что следующие строки раскрасятся правильно.
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Sat 16 Nov, 2013 21:38
by iva
У меня возникает ошибка: Exception Access violation (read from 0x0...011), в другом случае 0x0...2D,
Address: 0x63FF4ACA, Function: ProcessEditorEventW в colorer.dll, после чего я вынужден выгружать плагин.
Обстоятельства пока точно установить не удалось, но происходит это при копировании текста в буфер по CtrlX.
Far 3.0.3525 x64, Farcolorer 1.2.1 (build 2), работаю с файлами *.tex
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Sat 23 Nov, 2013 21:52
by nord
Есть у меня куча файлов в формате, похожем на .ini (расширение у файлов тоже .ini, и я не могу их переименовывать), но немного расширенном, я их часто редактирую и решил, что неплохо было бы сделать кастомную подсветку синтаксиса. Сделал два файла: один с прототипом, второй с описанием синтаксиса (первый ссылается на второй). Добавил файл как "User file of schemes". Все работает, подсвечивается, но из-за того, что в стандартной поставке Colorer'а уже есть подсветка .ini файлов, по умолчанию используется она, а не моя. Как повысить приоритет моей подсветки перед стандартной? (я понимаю, что могу выкосить стандартную из proto.hrc, есть менее варварские способы?)
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Sat 23 Nov, 2013 23:35
by NightRoman
Я для этого задействую свой каталог (указать в настройках), например, такой
<?xml version="1.0" encoding='us-ascii'?>
<!DOCTYPE catalog PUBLIC "-//Cail Lomecb//DTD Colorer CATALOG take5//EN" "http://colorer.sf.net/2003/catalog.dtd"[
<!ENTITY hrc "%FARHOME%/Plugins/FarColorer/base/hrc">
<!ENTITY hrd "%FARHOME%/Plugins/FarColorer/base/hrd">
<!ENTITY catalog-console SYSTEM "%FARHOME%/Plugins/FarColorer/base/hrd/catalog-console.xml">
<!ENTITY catalog-rgb SYSTEM "%FARHOME%/Plugins/FarColorer/base/hrd/catalog-rgb.xml">
<!ENTITY catalog-text SYSTEM "%FARHOME%/Plugins/FarColorer/base/hrd/catalog-text.xml">
]>
<catalog xmlns="http://colorer.sf.net/2003/catalog">
<hrc-sets log-location="">
<location link="&hrc;/proto.hrc"/>
<location link="my-proto.hrc"/>
</hrc-sets>
<hrd-sets>
<hrd name="visual-rgb" class="rgb" description="Visual by Roman Kuzmin">
<location link="./hrd/rgb/visual-rgb.hrd"/>
</hrd>
<hrd name="visual-text" class="text" description="Text by Roman Kuzmin">
<location link="./hrd/text/visual-text.hrd"/>
</hrd>
</hrd-sets>
<hrd-sets>
&catalog-console;
</hrd-sets>
</catalog>
... и свой файл прототипов, указанный в этом каталоге *после* стандартного. В своем файле прототипов переопределяю типы, мое определение затирает страндартное.
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Sat 23 Nov, 2013 23:42
by NightRoman
При таком подходе не надо редактировать файлы из поставки. Разве что иногда (крайне редко), если что-то существенно поменяется в формате каталога. В то же время мы полностью используем стандартные прототипы и только точечно корректируем и дополняем их в своем файле.
Авторам:
Мне кажется, что-то подобное надо в ридми написать. Эти вопросы то и дело на форуме появляются, хоть и не каждый день, но регулярно.
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Sun 24 Nov, 2013 03:53
by nord
Благодарю. Правда с затиранием у меня что-то не срослось, я указал свой .hrc файл (с прототипом с уникальным именем) первым и все работает.
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Mon 09 Dec, 2013 13:27
by Bio
добрый день!
прошу прощения, если это уже где то обсуждалось раньше. в чем проблема такого сильного снижения скорости работы колорера в FAR3 по сравнению с FAR2?
в редакторе FAR2 метровый changelog (от самого Фара) раскрашивается до конца в течении 4 сек. (полуметровый changelog_eng - 3 сек)
в редакторе FAR3 на это уходит примерно 25 сек!!! (changelog_eng - 15 сек). x86, x64 - без разницы. без доп. плагинов. последний ночник.
так же пробовал с одинаковыми схемами (1.0.3.12) - результаты такие же.
причем процессор не грузится, и на старом двухядерном ноуте работает даже быстрее, чем на настольном i5
( changelog_eng/changelog: FAR2 - 2/3 сек, FAR3 - 12/18 сек ).
что же так тормозит?
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.