Colorer — гибкая раскраска синтаксиса в редакторе и др.

Здесь можно обсудить ваш любимый плагин.
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by ctapmex »

Far Colorer — плагин подсветки синтаксиса в редакторе, основанный на Colorer Library Игоря Русских.
  • Изначальный автор плагина — Игорь Русских (lomecb, он же cail).
  • После того как плагин портирован на Far 2, поддержкой занимается Алексей Добрунов (ctapmex, он же на форуме ctapmex).
  • Официальная поддержка осуществляется через google-группу colorer_ru (на форуме бывает только ctapmex).
  • Актуальные версии основаны на Colorer Library версии take5.
GitHub | Анонс | Старые домашние страницы библиотеки Colorer и плагина для FAR

Плагин входит в дистрибутив 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



Что не разжёвано в документации плагина:
  • Как подключить собственные цветовые стили *.hrd
  • Как подключить собственную схему:
    • используя пользовательский файл прототипов:
    • используя папку auto:
    • через пользовательский catalog.xml:
  • Как переопределить существующую схему
  • Как правильно "удалить" какую-либо стандартную схему
  • Как использовать относительные пути и переменные окружения
  • Если раскраска неправильна:
  • Неочевидные настройки: maxlinelength (в теме)
  • Тонкая настройка подсветки для отдельной схемы: в теме.
Last edited by ctapmex on Mon 18 Oct, 2021 19:17, edited 5 times in total.
User avatar
lazyeugene
Posts: 243
Joined: Sat 29 Aug, 2009 17:14
Has thanked: 1 time

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by lazyeugene »

Latest post of the previous page:

Нет, не только. Я поправил и те и другие согласно документации.
User avatar
progreCCor
Posts: 84
Joined: Wed 09 Jan, 2008 17:45

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by progreCCor »

Слишком длинная строка "сломала" colorer

у меня в css встречаются "встроенные" изображения...
например


так вот они вышибают нафиг всю раскраску....
что делать?
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by HaRT »

progreCCor wrote:что делать?
maxlinelength
Фар есть инструмент, а не нянька. © 2009 DrKnS
kobri
Posts: 19
Joined: Fri 15 Nov, 2013 14:42
Been thanked: 1 time

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by kobri »

Проблема с большим maxlinelength в том, что он вносит лишнее торможение, хотя раскраска в таких огромных строках всё равно не нужна, особенно учитывая, что в фаре нет свёртки строк. Я бы предложил такие строки вообще не раскрашивать (ну или раскрашивать, но следующую строку красить как будто этой не было) так больше вероятность, что следующие строки раскрасятся правильно.
iva
Posts: 128
Joined: Sat 02 Nov, 2013 21:32
Been thanked: 3 times

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post 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
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by NightRoman »

Обновлена схема powershell.hrc - добавлены забытые для V3 операторы -shl и -shr. Схема, как обычно, тут:
https://farnet.googlecode.com/svn/trunk ... rshell.hrc

Просьба обновить и в базе/поставке colorer-а.
nord
Posts: 10
Joined: Thu 13 Apr, 2006 15:13
Contact:

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by nord »

Есть у меня куча файлов в формате, похожем на .ini (расширение у файлов тоже .ini, и я не могу их переименовывать), но немного расширенном, я их часто редактирую и решил, что неплохо было бы сделать кастомную подсветку синтаксиса. Сделал два файла: один с прототипом, второй с описанием синтаксиса (первый ссылается на второй). Добавил файл как "User file of schemes". Все работает, подсвечивается, но из-за того, что в стандартной поставке Colorer'а уже есть подсветка .ini файлов, по умолчанию используется она, а не моя. Как повысить приоритет моей подсветки перед стандартной? (я понимаю, что могу выкосить стандартную из proto.hrc, есть менее варварские способы?)
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by NightRoman »

Я для этого задействую свой каталог (указать в настройках), например, такой

Code: Select all

<?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 "&#37;FARHOME&#37;/Plugins/FarColorer/base/hrc">
<!ENTITY hrd "&#37;FARHOME&#37;/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>
... и свой файл прототипов, указанный в этом каталоге *после* стандартного. В своем файле прототипов переопределяю типы, мое определение затирает страндартное.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by NightRoman »

При таком подходе не надо редактировать файлы из поставки. Разве что иногда (крайне редко), если что-то существенно поменяется в формате каталога. В то же время мы полностью используем стандартные прототипы и только точечно корректируем и дополняем их в своем файле.

Авторам:
Мне кажется, что-то подобное надо в ридми написать. Эти вопросы то и дело на форуме появляются, хоть и не каждый день, но регулярно.
nord
Posts: 10
Joined: Thu 13 Apr, 2006 15:13
Contact:

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by nord »

Благодарю. Правда с затиранием у меня что-то не срослось, я указал свой .hrc файл (с прототипом с уникальным именем) первым и все работает.
Bio
Posts: 9
Joined: Thu 13 Jan, 2011 21:50

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post 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 сек ).

что же так тормозит?
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by NightRoman »

Обновлена схема powershell.hrc - добавлено распознавание нового маркера <>, введенного в PSF 5.0.51. Схема тут:
https://farnet.googlecode.com/svn/trunk ... rshell.hrc

Просьба обновить и в базе/поставке Сolorer-а.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by NightRoman »

Схема powershell.hrc обновлена еще раз, добавлено распознавание GUID и немного поправлено распознавание дат.
UPDATE: Я также нашел проект на гитхабе и поместил pull request туда. Может, такой способ будет всем удобнее, чем через форум оповещать?

--------------------

Вопрос по colorer.exe. Это приложение поддерживается/обновляется? Если да, то где можно найти свежие версии? Столкнулся с такой проблемой. Кажется, colorer.exe в моем файле-каталоге не понимает строки типа

Code: Select all

<!ENTITY hrc "&#37;FARHOME&#37;/Plugins/FarColorer/base/hrc">
<!ENTITY hrd "&#37;FARHOME&#37;/Plugins/FarColorer/base/hrd">
Поддержка "&#37;FARHOME&#37;" была добавлена в сам колорер, а в colorer.exe?
Kanareyka
Posts: 6
Joined: Sun 22 Dec, 2013 15:24

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post 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): добавила

Code: Select all

  <prototype name="oeabl" group="main" description="OpenEdge ABL">
    <location link="oeabl.hrc"/>
    <filename>/\.(p|i)$/i</filename>
  </prototype>
И ничего. В списке языков новый язык появился, но не подсвечивает НИЧЕГО, когда файл открываешь.
То есть, не совсем ничего - F11/FarColorer/List types показывает, что язык-то узнался. А подсветки нет.
Насчет опечаток (например, русская о вместо английской) все ок - проверяла поиском, везде идентификатор oeabl одинаковый и английский.
В трех местах нашла - люди делали то же самое и все получалось. А у меня не получается.
Другие синтаксисы - которые в common.jar описаны - работают и подсвечиваются.
Как понять, что я не так сделала? Помогите, пожалуйста.

Я даже с горя свой hrc в common.jar пробовала класть (ну, туда же, рядом с c.hrc).
Вот такой был кусок proto.hrc:

Code: Select all

  <prototype name="oeabl" group="main" description="OpenEdge ABL">
    <location link="jar:common.jar!base/oeabl.hrc"/>
    <filename>/\.(p|i)$/i</filename>
  </prototype>
Вот оттуда заработало. Это для рабочего варианта сгодится, но это же невозможно отлаживать будет -
каждый раз Far закрывать придется после изменения.

(ABL совсем не похож на C, но мне просто нужно увидеть, что подсветка в принципе подхватилась - прежде чем ее менять. Поэтому я взяла копию готовой рабочей схемы сначала.)
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by HaRT »

Kanareyka wrote:Вот оттуда заработало. Это для рабочего варианта сгодится, но это же невозможно отлаживать будет -
каждый раз Far закрывать придется после изменения.
Это не так — у плагина есть команда перечитать конфигурацию раскраски.
Но без залезания в архив удобнее, признаю. Гляньте тут и вокруг.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Kanareyka
Posts: 6
Joined: Sun 22 Dec, 2013 15:24

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by Kanareyka »

HaRT wrote:
Kanareyka wrote:Вот оттуда заработало. Это для рабочего варианта сгодится, но это же невозможно отлаживать будет -
каждый раз Far закрывать придется после изменения.
Это не так — у плагина есть команда перечитать конфигурацию раскраски.
Но без залезания в архив удобнее, признаю. Гляньте тут и вокруг.
Неа, не в "перечитать конфигурацию" проблема :) Я не могу изменить сам jar - он заблокирован, пока фар открыт.
В auto я уже пыталась класть файл и в proto.hrc писать путь "hrc/auto/oeabl.hrc". Пока не добилась успеха. Попробую еще пару раз повнимательнее, но не очень верю, что получится. Пыталась и в сам hrc класть файл, и в hrc/auto/types - ничего из этого не сработало...
Post Reply

Return to “Обсуждение плагинов”