Плагин входит в дистрибутив 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
и прописываю путь к нему в конфигурации плагина.
в целом работает, но есть нюансы. файлы Lua c комментарием вида --------------- в первой строке считаются файлами diff.
по-моему, баг в плагине. если нет, то что не так с переопределением?
и еще. в шапке обещано, что можно удалить строку с location, и все будет работать по-прежнему. на самом деле, схема в списке остается, но раскраска не выполняется. поломалось, не доделано, отменено?
Кстати о багах.
Если в любом редакторе вызвать Colorer/R Reload schema library, то после это не запускается работает конфигурация плагина.
А если дважды запустить R Reload schema library, то при попытке вызова конфигурации плагин падает.
все таки не баг, а недопонимание принципов выбора схемы. я подзабыл, что filename не обязательное требование, а всего лишь один из признаков со своим приоритетом.
John Doe wrote: Что, буквально так сказано?
ctapmex wrote: Как переопределить существующую схему
Для этого достаточно подключить собственную схему с тем же именем (name).
Если требуется изменить только параметры схемы (filename, firstline, parameters), то достаточно прототипа, а location схемы можно не указывать.
John Doe wrote: Давайте сначала: вы для чего схему переопределяете?
Проверил, действительно это утверждение из шапки сейчас неверно:
ccaid wrote: Если требуется изменить только параметры схемы (filename, firstline, parameters), то достаточно прототипа, а location схемы можно не указывать.
Нашел, как подсвечивать for и int разными цветами (c:KeywordANSI и c:KeywordANSI.typenames соответственно).
Подскажите пару моментов - первый - как сделать пробелы и табы менее заметными при включенном show whitespace (т.е. пробелы и табы покрасить чёрным, например - "Shows trailing spaces as error" тут не подходит т.к. нужны все пробелы, не только trailing). И как подсветить имена функций (не зарезервированных, а тех, что по синтаксу должны быть именами функций) зелёным, как в sublime (пробовал def:Outlined и разные Outlined из схемы но это, похоже всё не то - def:Outlined, например, не работает вообще).
Upd: кажется поймал ещё один баг - цвет whitespace не меняется, хоть умри. Вероятно, связано с "правильными" исправлениями в этом посте http://forum.farmanager.com/viewtopic.p ... 96#p104596 "5. правильная раскраска whitespace (меняем только фон, текст не красим) включается только в случае включения опции отображения whitespace в редакторе. (меньше регионов цветов в far, меньше работы)"
Почему-то firstline не работает дальше первых 10 строчек. Может кто-нибудь подтвердить? Нужно было автоопредение хотя бы строчек на 50 вперед. Изменение fistlinebytes/firstlines не помогает абсолютно.
interligator wrote: Почему-то firstline не работает дальше первых 10 строчек. Может кто-нибудь подтвердить? Нужно было автоопредение хотя бы строчек на 50 вперед. Изменение fistlinebytes/firstlines не помогает абсолютно.
Приведите, пжлст, конкретный полный пример, а также укажите версию плагина.
<?xml version="1.0" encoding='utf-8'?>
<!DOCTYPE hrc PUBLIC
"-//Cail Lomecb//DTD Colorer HRC take5//EN"
"http://colorer.sf.net/2003/hrc.dtd">
<hrc version="take5" xmlns="http://colorer.sf.net/2003/hrc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://colorer.sf.net/2003/hrc http://colorer.sf.net/2003/hrc.xsd">
<!--
firstlines option is not functional
far colorer 1.2.2.0 . 10.05.2015
copy this file to base/hrc/auto/xml2.hrc
example xml:
<?xml version="1.0" encoding="utf-8"?>
(empty 10 lines)
override
(works only for first 10 lines then stops working)
-->
<prototype name="xml2" group="xml2" description="xml2">
<filename>/\.xml$/</filename>
<firstline weight="10">/override/</firstline>
<parameters>
<param name="firstlines" value="50" description="lines for firstline"/>
<param name="firstlinebytes" value="5000" description="bytes for firstline"/>
</parameters>
</prototype>
<type name="xml2">
<scheme name="xml2">
</scheme>
</type>
</hrc>
Upd: иногда (на других типах, в частности на .conf), перестает срабатывать и на 5 строке, от чего это зависит я не понимаю (чистый эксперимент, ничего кроме пустых строк впереди нет). Настройки схемы в диалоге отображаются нормальные. Приорити задран на максимум, но откуда-то появляется верхний предел firstlines в 5-10 строк.
Upd2: в общем там как-то супер-криво написан BaseEditor::chooseFileTypeCh - берется первый матч по имени и оттуда достаются firstlines (поэтому для разных типов срабатывает по-разному). Видимо, надо заимплементить перебор всех возможных типов и разобраться с приоритетом firstlines. В качестве воркараунда можно поднять лимиты у default и прописать этот default себе в кастомный hrc, тогда срабатывание работает:
Какая-то ошибка с формированием списка функций.
Пример: есть ini-подобный файл. Функциями являются секции.
При любом изменении текста внутри секции и просмотре списка функций
FAR 3.0.4406 x86, Win7 Pro SP1 x64
Colorer_List.png (59.76 KiB) Viewed 6410 times
.
Дополнение:
При открытии файла на редактирование список функций корректный.
Last edited by Aidar on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason:[spoiler]
Насчет whitespace символов - там еще нашел баг с truecolor - whitespace по умолчанию рисуются цветом текста, но в обратном порядке (т.е. #BBGGRR вместо #RRGGBB).
On a totally unrelated note - хотелось бы все-таки каталог auto ещё и для hrd, не только для hrc. Про это уже где-то писали в форуме.
Очень достает долгое открытие файлов с длинными строками, иногда до нескольких минут замораживает интерфейс фара. Неужели нельзя сделать так, чтобы Colorer не замораживал интерфейс во время раскраски файла? Я думаю было бы вполне нормально если бы файл открывался на редактирование сразу не раскрашенный, а Colorer постепенно делал свою работу в фоне и раскрашивал синтаксис.
Никакие настройки maxlength не помогают решить проблему тормозов при открытии файлов.