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
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

Latest post of the previous page:

С тех пор как шапка отвалилась да, неинтуитивно.
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 »

Может, тогда под спойлер хоть не прятать?

И неточно там сформулировано "Как правильно переопределять дистрибутивные схемы собственными". Предложенный способ и для добавления новых схем тоже подходит. Юзеру еще надо об этом еще догадаться. Тем более, что первым пунктом там "Как добавить схему, используя авто", юзер может решить, что добавлять надо только так. А способ через авто тоже не лишен проблем с мержами при апдейтах (правда не сами файлы мержить, а набор файлов, но все равно хлопоты).
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 »

Кстати, про auto. Идея сама хорошая, но очень неудачно выбрано положение этой папки. И не настраивается (или неправ?).
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

NightRoman wrote:А способ через авто тоже не лишен проблем с мержами при апдейтах (правда не сами файлы мержить, а набор файлов, но все равно хлопоты).
Какие такие проблемы? Апдейт распаковывается поверх и всё.
NightRoman wrote:Кстати, про auto. Идея сама хорошая, но очень неудачно выбрано положение этой папки. И не настраивается (или неправ?).
Расположение auto можно настроить в catalog.xml
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 »

Какие такие проблемы? Апдейт распаковывается поверх и всё.
Это частичный мерж. Остаются старые файлы, которые удалены из поставки.
Расположение auto можно настроить в catalog.xml
Не знал. А как?
Но и это не идеально. Надо менять или иметь свой каталог. Вот если бы через окружение или настройки FarColorer - могло бы быть удобнее.
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 »

Попутно. А в авто empty.hrc просто для примера?
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

NightRoman wrote:Это частичный мерж. Остаются старые файлы, которые удалены из поставки.
Частичного обычно хватает.
NightRoman wrote:
Расположение auto можно настроить в catalog.xml
Не знал. А как?
Эта папка прописана в стандартном catalog.xml, см. там.
NightRoman wrote:Но и это не идеально. Надо менять или иметь свой каталог. Вот если бы через окружение или настройки FarColorer - могло бы быть удобнее.
Добавить ещё одну папку где-нибудь в пользовательском профиле было бы неплохо, и это можно сделать в пользовательском catalog.xml, путь к которому вы указываете в настройках.
Но вы правы, что имеет смысл сделать это сразу в стандартном catalog.xml, тогда пользовательский даже не понадобится.
NightRoman wrote:Попутно. А в авто empty.hrc просто для примера?
Только лишь. Причём для плохого примера.

P.S.
Шапку я исправил как вы и просили.
Если созреют какие-либо уточнения по вашим рекомендациям, то отредактируйте свой пост.
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:Спасибо за подсказки, однако я не понял, что, конкретно, я должен сделать? Добавить эту строку в proto.hrc? Но тогда надо, наверное, сделать его копию и свой catalog.xml?
может проще в proto.hrc поменять строку:...
Я так понимаю, надо скопировать из прототипа

Code: Select all

  <prototype name="default" group="other" description="default type">
следующее

Code: Select all

    <filename weight='1'>//</filename>
и вставить в

Code: Select all

  <prototype name="text" group="other" description="plain text">
Какие именно веса тогда использовать?
Точно не скажу, надо понизить приоритет <filename weight='1'>//</filename> для "default" и повысить для "text".
Но как вы понимаете требовать этого от стандартной поставки нельзя, тип text - это тип text, а не умолчание типа.
Поэтому надо воспользоваться своим catalog.xml для переопределения этого в "своём proto.hrc".
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:Спасибо за подсказки, однако я не понял, что, конкретно, я должен сделать?...
Или просто кинуть в папку \base\hrc\auto такой файл "textd.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="textd" group="user" description="text for default">
  <location link="textd.hrc"/>
  <filename weight='1.5'>//</filename>
 </prototype>

 <type name="textd">
  <import type="text"/>

  <scheme name="textd">
   <inherit scheme="text"/>
  </scheme>
	
 </type>
</hrc>
Вроде работает.
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 »

tvel, спасибо, такой вариант действительно работает, а вот со своим catalog.xml и proto.hrc у меня что-то не получилось, хотя вроде делал все правильно.
Случайности не случайны.
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 »

еще бы справиться как-то с тормозами во время набора текста и перемещения курсора по сложным длинно-строчным файлам...
Случайности не случайны.
Kanareyka
Posts: 6
Joined: Sun 22 Dec, 2013 15:24

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

Post by Kanareyka »

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

Я так понимаю вы хотели написать свой hrc "с нуля", ну так сделайте свою "чистую" заготовку, например...
Ура! Спасибо, это оказалось то, что нужно - чистая заготовка. Это, похоже, и правда все из-за связи. С Вашим примером заработало :) Надо было empty.hrc взять, но оказался слишком пустой, я никак не могла понять, что куда в него дальше писать :)
tvel wrote:Зачем выбирать в качестве исходника c.hrc? Он большой и сложный,
Да я просто взяла какой первый увидела :) Хто ж знал, что оно на ошибки и зависимости не ругается, а просто не работает...
tvel wrote:Учтите, также что расширение ".p" уже используется в колорере для другого типа, вес weight="3" вроде помогает,
если хотите потом увидеть свой hrc в стандартной поставке - можете обсудить веса с lazyeugene и ctapmex.
Спасибо, я об этом пока не думала. Как доведу более-менее до ума - обсудим.
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 »

В последней сборке продублированы в разных местах схемы markdown.hrc, powershell.hrc, r.hrc. В репозитории на гитхабе они были перемещены и старая папка FarNet удалена - все правильно. А при сборке для Фара, видимо, старая папка все еще используется.
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

NightRoman wrote: Вопрос по 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?
выложил
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 »

ctapmex,
Проверил, ENTITY с переменными окружения теперь работают. Спасибо.
Post Reply

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