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

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

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

Post by ctapmex » Wed 04 May, 2005 14:45

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 (в теме)
  • Тонкая настройка подсветки для отдельной схемы: в теме.

User avatar
John Doe
Бюрократ
Posts: 12531
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 235 times

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

Post by John Doe » Fri 22 Aug, 2014 16:06

Latest post of the previous page:

Мне кажется, или колорер когда-то умел раскрашивать редактор в фоне?
На большом файле нажимаю CtrlEnd и жду, жду...
После паузы вижу конец файла, уже раскрашенный.

User avatar
HaRT
Moderator
Posts: 9156
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 174 times

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

Post by HaRT » Fri 22 Aug, 2014 16:22

John Doe wrote:Мне кажется, или колорер когда-то умел раскрашивать редактор в фоне?
На большом файле нажимаю CtrlEnd и жду, жду...
После паузы вижу конец файла, уже раскрашенный.
Так а если это же время подождать до перехода в конец, не будет ли он тогда моментальным?
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
Sim
Posts: 405
Joined: Fri 12 Jun, 2009 09:43
Has thanked: 3 times
Been thanked: 1 time
Contact:

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

Post by Sim » Fri 22 Aug, 2014 16:26

По хорошему, работа колорера не должна тормозить навигацию по файлу, интерфейс должен откликаться на действия пользователя в первую очередь и откладывать все остальное, в том числе и раскраску синтаксиса, на то время, когда пользователь не взаимодействует с программой.
Случайности не случайны.

User avatar
John Doe
Бюрократ
Posts: 12531
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 235 times

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

Post by John Doe » Fri 22 Aug, 2014 16:27

HaRT wrote:Так а если это же время подождать до перехода в конец, не будет ли он тогда моментальным?
Полагаю да, будет.
Но меня больше беспокоит другой сценарий: открытие файла в редакторе, если запомненная позиция в конце файла.
По колорер не раскрасит весь файл — редактор не появится на экране. Вроде бы раньше колорер умел раскрашивать в фоне, или я ошибаюсь?

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

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

Post by NightRoman » Fri 22 Aug, 2014 16:29

John Doe
А что за файл? У меня на changelog, например, такого не наблюдается.

User avatar
HaRT
Moderator
Posts: 9156
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 174 times

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

Post by HaRT » Fri 22 Aug, 2014 16:30

John Doe wrote:По колорер не раскрасит весь файл — редактор не появится на экране. Вроде бы раньше колорер умел раскрашивать в фоне, или я ошибаюсь?
Я невнимательно прочитал предыдущее Ваше сообщение.
Да, прежде в худшем случае конец длинного файла был не раскрашен, и докрашивался позже.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 12531
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 235 times

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

Post by John Doe » Fri 22 Aug, 2014 16:33

NightRoman wrote:А что за файл? У меня на changelog, например, такого не наблюдается.
Действительно, changelog раскрашивается в фоне.
А например FarHun.hlf — нет.

Видимо колорер ведёт себя по-разному, в зависимости от размера файла.
Если бы это ещё настраивалось...

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

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

Post by NightRoman » Fri 22 Aug, 2014 16:37

У меня и с FarHun.hlf ничего необычного не наблюдается...

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

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

Post by NightRoman » Fri 22 Aug, 2014 16:39

Видимо колорер ведёт себя по-разному, в зависимости от размера файла.
changelog-то гораздо больше будет по размеру.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

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

Post by NightRoman » Fri 22 Aug, 2014 16:41

Загадочно. Плагины и макросы (остальные, конечно) пробовали отключать?

User avatar
John Doe
Бюрократ
Posts: 12531
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 235 times

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

Post by John Doe » Fri 22 Aug, 2014 16:44

Можно измерить численно таким макросом:
lua:s=Far.UpTime;Keys"F4 CtrlHome CtrlEnd";far.Show(Far.UpTime-s)
Возьмём эти 2 файла:
FarHun.hlf - 189912 байт
FarRus.hlf - 444553 байт

FarHun.hlf хоть в несколько раз меньше, но открывается в несколько раз дольше.
Видимо файлы <200000 байт колорер раскрашивает сразу, а большие — в фоне.

Но тут раскраска очень простая, поэтому визуально можно не заметить, открытие почти мгновенно.
А один мой lua-файл открывается полсекунды, что раздражает.

P.S.
Да, пробовал отключать всё. Даже если колорер единственный плагин — задержка есть.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

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

Post by NightRoman » Fri 22 Aug, 2014 16:52

Видимо файлы <200000 байт колорер раскрашивает сразу, а большие — в фоне.
А, интересно. Да, наверное, настройка не помешала бы тогда. Либо предложить попробовать все красить в фоне, может, это и нормально будет.

onokonem
Posts: 10
Joined: Wed 03 Dec, 2008 11:15

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

Post by onokonem » Mon 15 Sep, 2014 11:04

добрый день!

хочу раскрашивать файлы *.avpr схемой json плагина FarColorer из поставки Far 3.0 build 4040 x86.

Для этого создал файл

Code: Select all

\Plugins\FarColorer\base\hrc\auto\avpr.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="avpr" group="avro" description="AVRO definition">
  <location link="jar:../common.jar!rare/json.hrc"/>
  <filename weight="9">/\.avpr$/i</filename>
 </prototype>
</hrc>
avpr.hrc, со всей, очевидностью, подгрузился - тип файла в редакторе определяется правильно.

Но файл - не раскрашеный.

Скажите - чего я не учел, и куда смотреть?

Спасибо

User avatar
HaRT
Moderator
Posts: 9156
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 174 times

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

Post by HaRT » Mon 15 Sep, 2014 11:20

onokonem wrote:Скажите - чего я не учел, и куда смотреть?
Поищите в теме сообщения со словами [b][i]proto.hrc[/i][/b] и [b][i]proto_user.hrc[/i][/b].
Фар есть инструмент, а не нянька. © 2009 DrKnS

onokonem
Posts: 10
Joined: Wed 03 Dec, 2008 11:15

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

Post by onokonem » Mon 15 Sep, 2014 12:20

Поищите в теме сообщения со словами proto.hrc и proto_user.hrc.
поискал, почитал.

уяснил, что это потому, что схема не находится. почему не находится схема из common.jar? если не находится сам common.jar - плагин падает, так что дело не в путях.

User avatar
John Doe
Бюрократ
Posts: 12531
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 235 times

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

Post by John Doe » Mon 15 Sep, 2014 14:05

В самом common.jar!rare/json.hrc уже определено имя типа (json), а в вашем новом определении другое имя (avpr), поэтому и не работает.
Рекомендую оставить имя json, но добавить к существующей ещё и свою маску.

Возможны и другие решения, на которые намекал HaRT.

onokonem
Posts: 10
Joined: Wed 03 Dec, 2008 11:15

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

Post by onokonem » Mon 15 Sep, 2014 14:28

о, так работает

Code: Select all

Plugins\FarColorer\base\hrc\auto\avpr.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="json" group="rare" description="JSON">
  <location link="jar:../common.jar!rare/json.hrc"/>
  <filename weight='3'>/\.json$/i</filename>
  <filename weight="3">/\.avpr$/i</filename>
 </prototype>
</hrc>
спасибо!

Post Reply

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