Page 149 of 192

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

Posted: Wed 04 May, 2005 14:45
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 (старые версии доступны тут)



Что не разжёвано в документации плагина:
  • Как подключить собственные цветовые стили *.hrd
  • Как подключить собственную схему:
    • используя пользовательский файл прототипов:
    • используя папку auto:
    • через пользовательский catalog.xml:
  • Как переопределить существующую схему
  • Как правильно "удалить" какую-либо стандартную схему
  • Как использовать относительные пути и переменные окружения
  • Если раскраска неправильна:
  • Неочевидные настройки: maxlinelength (в теме)
  • Тонкая настройка подсветки для отдельной схемы: в теме.

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

Posted: Wed 25 Dec, 2013 11:11
by John Doe

Latest post of the previous page:

NightRoman
В шапке давно есть ссылка на ваши рекомендации.

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

Posted: Wed 25 Dec, 2013 11:16
by NightRoman
John Doe wrote:NightRoman
В шапке давно есть ссылка на ваши рекомендации.
А, хорошо, спасибо. Хоть будет куда отсылать. Но очевидно, что многие эту инфу сами не находят. Неинтуитивное место для этого, может быть.

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

Posted: Wed 25 Dec, 2013 11:17
by John Doe
С тех пор как шапка отвалилась да, неинтуитивно.

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

Posted: Wed 25 Dec, 2013 11:22
by NightRoman
Может, тогда под спойлер хоть не прятать?

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

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

Posted: Wed 25 Dec, 2013 11:31
by NightRoman
Кстати, про auto. Идея сама хорошая, но очень неудачно выбрано положение этой папки. И не настраивается (или неправ?).

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

Posted: Wed 25 Dec, 2013 11:31
by John Doe
NightRoman wrote:А способ через авто тоже не лишен проблем с мержами при апдейтах (правда не сами файлы мержить, а набор файлов, но все равно хлопоты).
Какие такие проблемы? Апдейт распаковывается поверх и всё.
NightRoman wrote:Кстати, про auto. Идея сама хорошая, но очень неудачно выбрано положение этой папки. И не настраивается (или неправ?).
Расположение auto можно настроить в catalog.xml

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

Posted: Wed 25 Dec, 2013 11:36
by NightRoman
Какие такие проблемы? Апдейт распаковывается поверх и всё.
Это частичный мерж. Остаются старые файлы, которые удалены из поставки.
Расположение auto можно настроить в catalog.xml
Не знал. А как?
Но и это не идеально. Надо менять или иметь свой каталог. Вот если бы через окружение или настройки FarColorer - могло бы быть удобнее.

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

Posted: Wed 25 Dec, 2013 11:38
by NightRoman
Попутно. А в авто empty.hrc просто для примера?

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

Posted: Wed 25 Dec, 2013 11:39
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.
Шапку я исправил как вы и просили.
Если созреют какие-либо уточнения по вашим рекомендациям, то отредактируйте свой пост.

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

Posted: Wed 25 Dec, 2013 13:38
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".

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

Posted: Wed 25 Dec, 2013 13:57
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>
Вроде работает.

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

Posted: Wed 25 Dec, 2013 14:13
by Sim
tvel, спасибо, такой вариант действительно работает, а вот со своим catalog.xml и proto.hrc у меня что-то не получилось, хотя вроде делал все правильно.

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

Posted: Wed 25 Dec, 2013 14:41
by Sim
еще бы справиться как-то с тормозами во время набора текста и перемещения курсора по сложным длинно-строчным файлам...

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

Posted: Wed 25 Dec, 2013 15:30
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.
Спасибо, я об этом пока не думала. Как доведу более-менее до ума - обсудим.

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

Posted: Sun 05 Jan, 2014 11:02
by NightRoman
В последней сборке продублированы в разных местах схемы markdown.hrc, powershell.hrc, r.hrc. В репозитории на гитхабе они были перемещены и старая папка FarNet удалена - все правильно. А при сборке для Фара, видимо, старая папка все еще используется.

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

Posted: Sun 05 Jan, 2014 17:30
by ctapmex
напишу t-rex. поправит

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

Posted: Sun 05 Jan, 2014 17:45
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?
выложил