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

Здесь можно обсудить ваш любимый плагин.
User avatar
ctapmex
Posts: 1241
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.
Kanareyka
Posts: 6
Joined: Sun 22 Dec, 2013 15:24

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

Post by Kanareyka »

Latest post of the previous page:

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

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

Post by Kanareyka »

HaRT wrote:
Kanareyka wrote:Вот оттуда заработало. Это для рабочего варианта сгодится, но это же невозможно отлаживать будет -
каждый раз Far закрывать придется после изменения.
Это не так — у плагина есть команда перечитать конфигурацию раскраски.
Но без залезания в архив удобнее, признаю. Гляньте тут и вокруг.
А не дадите пример тега prototype для proto.hrc с отдельнолежащим файлом? Такой, что у кого-то точно работает.
Может я слеши в пути не в ту сторону написала или еще чего? Я уже и полный путь к файлу пробовала писать,
и в catalog.xml добавлять auto/type...
User avatar
HaRT
Moderator
Posts: 10858
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Kanareyka wrote:Я не могу изменить сам jar - он заблокирован, пока фар открыт.
Это что-то новенькое. У меня-то версия Колорера уже весьма почтенная.
Kanareyka wrote:В auto я уже пыталась класть файл и в proto.hrc писать путь "hrc/auto/oeabl.hrc". Пока не добилась успеха.
У меня в proto.hrc , и всё подхватывается. Но может за последние годы сломали что…
И настоятельно рекомендую почитать про proto_user.hrc.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Kanareyka
Posts: 6
Joined: Sun 22 Dec, 2013 15:24

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

Post by Kanareyka »

HaRT wrote:И настоятельно рекомендую почитать про proto_user.hrc.
Странно, я все так же писала, как у Вас в примере. "hrc/auto/oeabl.hrc" - это опечатка. Вот так, конечно: "auto/oeabl.hrc".

А не расскажете, где про proto_user.hrc почитать? Поиск в гугле и в яндексе дает только пару постов на этом же форуме, и то там просто упоминание. Поняла только, что можно сделать аналог proto.hrc и вписать его в catalog.xml.
Попробовала - с отдельным файлом тоже не удалось заставить работать. С архивом - пожалуйста...
User avatar
tvel
Posts: 38
Joined: Wed 17 Mar, 2010 23:48
Location: Lenobl
Has thanked: 5 times

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

Post by tvel »

Kanareyka, прототип можно поместить прямо в свой hrc (где нибудь перед тегом type), размещаемый в "base\hrc\auto\",
http://forum.farmanager.com/viewtopic.p ... 90#p103022
Kanareyka
Posts: 6
Joined: Sun 22 Dec, 2013 15:24

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

Post by Kanareyka »

tvel wrote:Kanareyka, прототип можно поместить прямо в свой hrc (где нибудь перед тегом type), размещаемый в "base\hrc\auto\",
http://forum.farmanager.com/viewtopic.p ... 90#p103022
Простите, не поняла. Зачем мне помещать прототип куда-то еще, если он видится Колорером из proto.hrc?
Не видится файл с раскладкой, если он в base\hrc\auto или base\hrc\auto\types. Т.е. если я в свой файл положу прототип - то и он не увидится.
Или я Вашу идею неправильно считала, но тогда можно пример для понятности?
User avatar
Sim
Posts: 435
Joined: Fri 12 Jun, 2009 09:43
Has thanked: 11 times
Been thanked: 2 times
Contact:

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

Post by Sim »

такой вопрос: как сделать чтобы по умолчанию была раскраска как у .txt файлов? если, например, файл без расширения или расширение не опознанно.
Случайности не случайны.
User avatar
tvel
Posts: 38
Joined: Wed 17 Mar, 2010 23:48
Location: Lenobl
Has thanked: 5 times

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

Post by tvel »

Зачем мне помещать прототип куда-то еще, если он видится Колорером из proto.hrc?
Если вы не часто обновляете far3 и колорер или совсем не обновляете, то да - нет необходимости,
обновите far3 и/или колорер - и ваши правки в proto.hrc исчезнут,
файл proto.hrc не является штатной точкой входа для своих кастомных hrc, он для стандартных hrc из поставки.

Расширять библиотеку можно двумя способами:
- свой catalog.xml, ссылка есть в шапке темы (это единственный способ держать ещё и свои hrd, не теряя связь с ними после обновлений)
- свои hrc в \base\hrc\auto, если хотите можно сделать свой аналог proto.hrc в этой папке и держать там только свои прототипы (быстро и удобно)

Остальное - лучше не надо. Свои hrc можно поместить куда угодно, если прописать соотв. прототипы,
но команда "Перезагрузить библиотеку схем" срабатывает только на common.jar и папку auto (при штатном catalog.xml),
т.е. не перезапуская far3 тяжело править свои hrc вне этих хранилищ.
Не видится файл с раскладкой, если он в base\hrc\auto или base\hrc\auto\types. Т.е. если я в свой файл положу прототип - то и он не увидится.
Это какая-то ошибка. Трудно сказать почему у вас так. Поэтому пример наверно лишнее.
User avatar
tvel
Posts: 38
Joined: Wed 17 Mar, 2010 23:48
Location: Lenobl
Has thanked: 5 times

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

Post by tvel »

Kanareyka wrote:Создала файл oeabl.hrc:
...
Зачем выбирать в качестве исходника c.hrc? Он большой и сложный,
содержит связь через <!ENTITY> с файлом "c-win32.ent.hrc", который должен быть там же где вы помещаете копию c.hrc, естественно здесь у вас ошибка.

Я так понимаю вы хотели написать свой hrc "с нуля", ну так сделайте свою "чистую" заготовку, например

Code: Select all

<?xml version="1.0" encoding='Windows-1251'?>
<!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">

 <prototype name="oeabl" group="user" description="OpenEdge ABL">
  <location link="oeabl.hrc"/>
  <filename weight="3">/\.(p|i)$/i</filename>
 </prototype>

 <type name="oeabl">
  <annotation>
   <documentation>
    OpenEdge ABL syntax
   </documentation>
   <contributors>
    I am
   </contributors>
  </annotation>

  <import type="def"/>

  <region name="oeabl_error" parent="def:Error"/>

  <scheme name="oeabl">
   <regexp match="/\d*/" region="oeabl_error"/>
  </scheme>
	
 </type>
</hrc>
Помещаю в auto - всё работает, все цифры в примерах красятся.
Учтите, также что расширение ".p" уже используется в колорере для другого типа, вес weight="3" вроде помогает,
если хотите потом увидеть свой hrc в стандартной поставке - можете обсудить веса с lazyeugene и ctapmex.
User avatar
tvel
Posts: 38
Joined: Wed 17 Mar, 2010 23:48
Location: Lenobl
Has thanked: 5 times

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

Post by tvel »

Sim wrote:файл без расширения или расширение не опознанно.
Привязка к файлам без расширения:

Code: Select all

<filename weight="2">/^[^\.]+$/</filename>
Вроде все неопознанные файлы красятся типом "def", отсюда и надо начинать копать.
Но так порушите привязку многих типов по <firstline>.
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 »

Sim
Может, так? (для всех оставшихся неопознанных файлов, а не только без расширения)

Code: Select all

<filename weight="..">/./</filename>
А вес надо задать самый маленький из возможных, чтобы опознанные файлы красились, как и раньше.
User avatar
Sim
Posts: 435
Joined: Fri 12 Jun, 2009 09:43
Has thanked: 11 times
Been thanked: 2 times
Contact:

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

Post by Sim »

Спасибо за подсказки, однако я не понял, что, конкретно, я должен сделать? Добавить эту строку в proto.hrc? Но тогда надо, наверное, сделать его копию и свой catalog.xml?
может проще в proto.hrc поменять строку:

Code: Select all

<type name="default"><scheme name='default'/></type>
на

Code: Select all

<type name="default"><scheme name='text'/></type>
???
Случайности не случайны.
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 »

Есть разные способы. Менять нативный proto.hrc - не лучший, придется мержить при апдейтах. Свой каталог - гораздо лучше. Там указать *свой* файл прототипов в *дополнение* к нативному. Как делать, я на форуме пример приводил, повторять не буду.

Авторам. Кажется, что эти операции надо бы задокументировать либо в ридми, либо в шапке форума, либо и там, и там. Вопросы на формуме то и дело возникают.
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

NightRoman
В шапке давно есть ссылка на ваши рекомендации.
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 »

John Doe wrote:NightRoman
В шапке давно есть ссылка на ваши рекомендации.
А, хорошо, спасибо. Хоть будет куда отсылать. Но очевидно, что многие эту инфу сами не находят. Неинтуитивное место для этого, может быть.
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

С тех пор как шапка отвалилась да, неинтуитивно.
Post Reply

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