Плагин входит в дистрибутив 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: Tue 23 Jun, 2009 08:39
by d.k.Brazz
Latest post of the previous page:
Игорь Юдинцев wrote:Держите вот сборку под FAR2 >= 995; вроде работает.
Плохо работает
Странная сборка какая то, никаких изменения там не производилось? Ничего не ломалось?
Имеем голый фар 2.0 build 1010 x86 и этот колорер
sql подсвечивает через раз. Т.е. жму на файле F4 - не подсвечивает, жму ESC, снова F4 - подсвечивает.
Некоторые файлы не подсвечивает вообще.
хм.. поведение крайне странно
файл с именем set_list_account.sql не подсвечивает, но если его переименовать в set_list_accoun.sql - подсвечивает.
причем рядом лежит файл set_list_account-fiz.sql который подсвечивается, но если переименовать в set_list_account-fiz1.sql - уже не подсвечивается
hrc/hrd не менялись уже лет несколько
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
drkns 15.06.2009 20:30:24 +0200 - build 994
1. ECTL_FREEINFO больше нет. Память под EditorInfo::FileName выделяет плагин.
Требуемый размер можно получить в поле EditorInfo::FileNameSize передав туда 0,
либо передав NULL в качестве EditorInfo::FileName.
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
upd: ну и естественно в trunk\colorer\src\shared\far2plugin актуальные хидеры подкинуть
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Tue 23 Jun, 2009 13:53
by d.k.Brazz
Собрал колорер
три версии собраны под три архитектуры:
- I386 - без оптимизаций.
- SSE - не ниже Pentium III, AthlonXP, Duron (> 1000 МГц),
- SSE2 - Pentium4, Athlon x64, Sempron (Socket 754)
Вот интересно - насколько оно влияет на производительность?
UPD: исправлена утечка памяти, файлы перезалиты
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Wed 24 Jun, 2009 01:17
by GrAnD
А на каком svn лежат исходники Colorer, подскажите пожалуйста.
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Wed 24 Jun, 2009 06:42
by Игорь Юдинцев
d.k.Brazz
да, в моей сборке была проблема с памятью.
All: качайте сборку от d.k.Brazz
GrAnD wrote:А на каком svn лежат исходники Colorer, подскажите пожалуйста.
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Wed 24 Jun, 2009 13:05
by d.k.Brazz
sonar wrote:код то рабочий, но вот только он добавляет новую утечку памяти.
FileName надо освободить.
например там же ниже
Спасибо
поправил, файлы перезалил в свой предыдущий пост
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Wed 24 Jun, 2009 18:53
by ctapmex
d.k.Brazz
у тебя случаем при выходе из фара в SharedInputSource.h падение не происходит?
до этого на работе все нормально было. пришел домой все с нуля сделал (исходники с svn), сделал это изменение и все , падает постоянно
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Thu 25 Jun, 2009 05:59
by ctapmex
поковырялся в исходниках colorer, в текущей ревизии из svn (1107), попытался адаптировать под текущий far2. все изменения прикрепил ниже. ну и отправил письмо автору плагина, может быть внесет изменения.
Готовые сборки не выкладываю, т.к. не знаю с какими параметрами обычно собирают этот плагин для фара.
Для того чтобы плагин, собранный из текущих исходников, работал под far2 нужно сделать следующее
1. файлы в colorer/src/shared/far2plugin/ заменить на файлы от сюда http://www.farmanager.com/svn/trunk/plu ... n/unicode/
2. применить к файлу colorer/src/pcolorer2/FarEditorSet.cpp патч
FarEditorSet.diff
далее найденные мной утечки памяти и ошибки
1. эта ошибка также не давала работать под новым far2
в файле colorer/src/shared/common/io/SharedInputSource.h функция
delref вызывала AV , когда пыталась вернуть только что освобожденную
переменную. патч SharedInputSource.diff
2. утечка памяти в colorer/src/pcolorer2/FarEditor.cpp
патч FarEditor.diff
3. утечка памяти и неправильная обработка исключений в
colorer/src/shared/common/io/JARInputSource.cpp
патч JARInputSource.diff
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Thu 25 Jun, 2009 08:07
by d.k.Brazz
sonar wrote:т.к. не знаю с какими параметрами обычно собирают этот плагин для фара.
там же makefile.vs есть, в нем все и прописано
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Thu 25 Jun, 2009 08:55
by ctapmex
ага, теперь понял
просто в pcolorer2.vcproj настройки только для debug версии были
пришел ответ от Игоря Русских , обещал в ближайшее время внести изменения в svn
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Thu 25 Jun, 2009 09:22
by d.k.Brazz
sonar wrote:d.k.Brazz
у тебя случаем при выходе из фара в SharedInputSource.h падение не происходит?
до этого на работе все нормально было. пришел домой все с нуля сделал (исходники с svn), сделал это изменение и все , падает постоянно
Падения фара иногда случаются, особенно когда он по нескольку суток не закрывается. Может и из-за колорера.
В последнее время не падает. Вероятно из-за частых обновлений не успевает много утечь.
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Thu 25 Jun, 2009 09:48
by ctapmex
d.k.Brazz wrote:
sonar wrote:d.k.Brazz
у тебя случаем при выходе из фара в SharedInputSource.h падение не происходит?
до этого на работе все нормально было. пришел домой все с нуля сделал (исходники с svn), сделал это изменение и все , падает постоянно
Падения фара иногда случаются, особенно когда он по нескольку суток не закрывается. Может и из-за колорера.
В последнее время не падает. Вероятно из-за частых обновлений не успевает много утечь.
с этой ошибкой я разобрался, выше лежит для неё патч. а падало оно сразу при запуске фара. фар был последний, и единственный плагин - колорер.
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Thu 25 Jun, 2009 11:00
by ctapmex
перезалил архив патчей, ошибся я в локализации одной утечки, поправил файлик.
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Posted: Fri 26 Jun, 2009 05:56
by ctapmex
собрал плагин для far2 со всеми изменениями, которые были выше. (смотри ниже, пересобран)
пока утечек в коде не нашел больше, кроме мест , где происходит ошибка загрузки плагина. т.е. если плагин не стал грузится и выдал исключение (например файл настроек не нашел) , то мусора останется много.