Плагин входит в дистрибутив 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: 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 — гибкая раскраска синтаксиса в редакторе и др.
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Sun 15 Dec, 2013 10:01
by NightRoman
Схема powershell.hrc обновлена еще раз, добавлено распознавание GUID и немного поправлено распознавание дат.
UPDATE: Я также нашел проект на гитхабе и поместил pull request туда. Может, такой способ будет всем удобнее, чем через форум оповещать?
--------------------
Вопрос по colorer.exe. Это приложение поддерживается/обновляется? Если да, то где можно найти свежие версии? Столкнулся с такой проблемой. Кажется, colorer.exe в моем файле-каталоге не понимает строки типа
Поддержка "%FARHOME%" была добавлена в сам колорер, а в colorer.exe?
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Sun 22 Dec, 2013 15:49
by Kanareyka
Доброго дня всем!
Тут в основном тонкости всякие, а у меня, похоже, тупая проблема. Но деваться некуда...
Нужно добавить новый язык. В какой-то старой версии колорера мне это прекрасно удалось - добавила в список, настроила схему.
Ну, т.е. проблем с регекспами и найти куда чего вставить и откуда чего скопипастить у меня обычно нет.
А сейчас у меня установлен Far 3 и просто бьюсь головой о стену.
Создала файл oeabl.hrc:
* скопировала его из common.jar:base/c.hrc,
* потом внутри заменила <type name="c"> на <type name="oeabl">
* заменила в нем же <scheme name="c"> на <scheme name="oeabl"> (это я сначала проморгала, а потом в этой же ветке раньше вычитала)
* полученный oeabl.hrc положила в директорию C:\Program Files\Far Manager\Plugins\FarColorer\base\hrc
Потом поправила proto.hrc (лежит в той же директории, что и oeabl.hrc): добавила
И ничего. В списке языков новый язык появился, но не подсвечивает НИЧЕГО, когда файл открываешь.
То есть, не совсем ничего - F11/FarColorer/List types показывает, что язык-то узнался. А подсветки нет.
Насчет опечаток (например, русская о вместо английской) все ок - проверяла поиском, везде идентификатор oeabl одинаковый и английский.
В трех местах нашла - люди делали то же самое и все получалось. А у меня не получается.
Другие синтаксисы - которые в common.jar описаны - работают и подсвечиваются.
Как понять, что я не так сделала? Помогите, пожалуйста.
Я даже с горя свой hrc в common.jar пробовала класть (ну, туда же, рядом с c.hrc).
Вот такой был кусок proto.hrc:
Вот оттуда заработало. Это для рабочего варианта сгодится, но это же невозможно отлаживать будет -
каждый раз Far закрывать придется после изменения.
(ABL совсем не похож на C, но мне просто нужно увидеть, что подсветка в принципе подхватилась - прежде чем ее менять. Поэтому я взяла копию готовой рабочей схемы сначала.)
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Sun 22 Dec, 2013 17:22
by HaRT
Kanareyka wrote:Вот оттуда заработало. Это для рабочего варианта сгодится, но это же невозможно отлаживать будет -
каждый раз Far закрывать придется после изменения.
Это не так — у плагина есть команда перечитать конфигурацию раскраски.
Но без залезания в архив удобнее, признаю. Гляньте тут и вокруг.
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Sun 22 Dec, 2013 18:48
by Kanareyka
HaRT wrote:
Kanareyka wrote:Вот оттуда заработало. Это для рабочего варианта сгодится, но это же невозможно отлаживать будет -
каждый раз Far закрывать придется после изменения.
Это не так — у плагина есть команда перечитать конфигурацию раскраски.
Но без залезания в архив удобнее, признаю. Гляньте тут и вокруг.
Неа, не в "перечитать конфигурацию" проблема Я не могу изменить сам jar - он заблокирован, пока фар открыт.
В auto я уже пыталась класть файл и в proto.hrc писать путь "hrc/auto/oeabl.hrc". Пока не добилась успеха. Попробую еще пару раз повнимательнее, но не очень верю, что получится. Пыталась и в сам hrc класть файл, и в hrc/auto/types - ничего из этого не сработало...