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
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

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

Post by Aidar » Mon 12 May, 2014 10:46

Latest post of the previous page:

Вот кусок схемы для lua:
  1. <block start="/^\M((local)) (?{Section}\s+ [_\w]+) \s* \= \s* \{/x"
  2.            end="/^~local \s+ [_\w]+ \s* ((\=)) \s* \M \{/x" scheme="LuaCore"
  3.            region01="Operator"  region11="Operator"
  4.            region02="PairStart" region12="PairEnd"/>
Посмотрите цвет для Operator.

User avatar
Kerberos464
Posts: 1239
Joined: Wed 29 Jul, 2009 20:24
Location: Saint-Petersburg
Has thanked: 19 times
Been thanked: 1 time

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

Post by Kerberos464 » Mon 12 May, 2014 10:50

оказывается, это у меня настройки колорера давали такой эффект, с каких-то времён осталось.
сбросил все настройки - всё стало хорошо =) спасибо за помощь.
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.

AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

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

Post by AleXH » Tue 27 May, 2014 06:16

, раскрашивающий скрипты по заголовкам в *.tmp файлах (из полей диалогов по F4), кладётся в папку Auto. Как в location link указать относительный путь к выше лежащему common.jar?
Например,

Code: Select all

<location link="../jar:common.jar!base/lua.hrc"/>
не работает.

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

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

Post by John Doe » Tue 27 May, 2014 07:13

Попробуйте jar:../common.jar!base/lua.hrc

User avatar
zg
zero-gravity
Posts: 5668
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 116 times
Contact:

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

Post by zg » Sun 29 Jun, 2014 23:27

после 3968 колорер циклится, при [x] Change Editor background.
  1. intptr_t WINAPI ProcessEditorEventW(const struct ProcessEditorEventInfo *pInfo)
  2. {
  3.   if (!editorSet){
  4.     editorSet = new FarEditorSet();
  5.   }
  6.   return editorSet->editorEvent(pInfo);
  7. };
приходит EE_READ, editorSet==nullptr, зовётся FarEditorSet(), зовётся ReloadBase, SetBgEditor, ACTL_SETARRAYCOLOR. последнее приводит к перерисовке всех окон и вызову ProcessEditorEventW, editorSet всё ещё nullptr. и всё повторяется по кругу.

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 » Mon 28 Jul, 2014 16:33

Мне попался makefile с таким куском кода

Code: Select all

LINK_MODULES = \
    M1 \ # M1
    M2 \ # M2
"M2 \" подсвечено как ошибка колорером. Я не знаток мейкфайлов. Это действительно кривой синтаксис или схема недостаточно гибкая? Если комментарии убрать, то красится без ошибок.

(В одном проекте тут навалом таких мейкфайлов, в глазах рябит от ошибок раскраски. И комментарии нужны согласно соглашениям в проекте.)

siberia-man
Posts: 98
Joined: Sat 28 Jun, 2014 23:07
Has thanked: 1 time
Been thanked: 3 times

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

Post by siberia-man » Sat 09 Aug, 2014 13:43

Столкнулся с неочевидным.

Собственные настройки (схемы и стили) плагина располагаются отдельно от %FARHOME% и %FARPROFILE% в каталоге %FARPROFILE%/../FarColorer/.

Файл списка схем %FARPROFILE%/../FarColorer/hrc/proto.hrc. Пути до моих схем могу указывать относительно этого файла. Все работает.

Файл цветовых стилей %FARPROFILE%/../FarColorer/hrd/catalog.xml. Пути до моих стилей надо указывать абсолютные, то есть %FARPROFILE%/../FarColorer/hrd/имя-файла-стиля. Иначе стили не подключаются.

Подскажите, пожалуйста, это баг или я что-то упустил при настройке плагина.

Плагин из стабильных сборок (в других - не знаю, так как до этого свои схемы/стили не выносил в отдельный каталог)

Far30b3900.x86.20140513
Far30b4000.x86.20140714

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

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

Post by John Doe » Sat 09 Aug, 2014 19:31

siberia-man wrote:Файл цветовых стилей %FARPROFILE%/../FarColorer/hrd/catalog.xml.
Можно использовать сущность &hrd;, см. например catalog-console.xml

Или изучите опции плагина (Configure), там можно указать пути к собственным файлам.

siberia-man
Posts: 98
Joined: Sat 28 Jun, 2014 23:07
Has thanked: 1 time
Been thanked: 3 times

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

Post by siberia-man » Sat 09 Aug, 2014 21:14

Сущности в данном случае бесполезны - они указывают всего лишь на имя подкаталога (hrc или hrd). А плагин рассматривает их относительно %FARHOME%/Plugins/FarColorer/base. Идея в том, чтобы вынести собственные настройки за пределы каталога %FARHOME%. Просто в случае с hrc можно указать имя файла схемы отностиельно файла списка схем, а в случае hrd - надо указывать полный путь до файла стиля.

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

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

Post by John Doe » Sat 09 Aug, 2014 21:31

siberia-man wrote:а в случае hrd - надо указывать полный путь до файла стиля.
Что такое "в случае hrd"?
В catalog-console.xml например пути относительно catalog.xml, а вовсе не полные пути.

siberia-man
Posts: 98
Joined: Sat 28 Jun, 2014 23:07
Has thanked: 1 time
Been thanked: 3 times

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

Post by siberia-man » Sun 10 Aug, 2014 03:53

Немного переделал, чтобы не вносить путаницу между стандартными и собственными каталогами hrc/hrd. Но проблема остается.

FAR лежит в каталоге %FARHOME%. Стандартные плагины, установленные "из коробки" лежат там же - %FARHOME%/Plugins.
Все, что доустановлено в FAR мной лично, лежит в отдельном каталоге в %FARPROFILE%.
Мои настройки для FarColorer лежат рядом - %FARPROFILE%/../FarColorer.

Вот мои настройки


Файл списка схем:
%FARPROFILE%/../FarColorer/schemes.hrc . Мои схемы лежат в подкаталоге schemes. В <location link=> путь относительный.

Файл списка стилей:
%FARPROFILE%/../FarColorer/styles.xml . Мои стили лежат в подкаталоге styles. Я не могу написать относительный путь <location link="styles/gentle-console.hrd">. Colorer не увидит файл стилей.

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

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

Post by John Doe » Sun 10 Aug, 2014 08:17

Сейчас колорер ожидает путь относительно catalog.xml, а путь к нему вы не настраивали.

То о чём вы говорите тоже понятно, посмотрим что ответит автор.

Сейчас же вы можете попробовать прямо в своём styles.xml определить новую сущность.
<!ENTITY myhrc "%FARPROFILE%/../FarColorer/styles">.
И использовать её в дальнейших определениях.

siberia-man
Posts: 98
Joined: Sat 28 Jun, 2014 23:07
Has thanked: 1 time
Been thanked: 3 times

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

Post by siberia-man » Sun 10 Aug, 2014 11:14

Да. Путь до catalog.xml я не настраивал. Но схемы загружаются, стили - нет. Сущности не работают - при открытии редактора выдает ошибку парсинга styles.xml

tstr
Posts: 533
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 9 times
Been thanked: 8 times

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

Post by tstr » Wed 13 Aug, 2014 09:59

После билда 4040 при наличии плагина TrueTemplate (актуальная версия с PlugRing для FAR3) на чистом профиле и стандартных конфигах TrueTemplate и Colorer, в настройках Colorer ставим "[x] Change Editor background", во время открытия любого файла на редактирование падаем с трап-логом
FarTrap_20140813114112.7z
(21.14 KiB) Downloaded 45 times
на IA32 и AMD64 версиях поведение одинаковое.

Не исключено, что "виноват" плагин TrueTemplate, хотелось бы установить источник проблемы.

User avatar
zg
zero-gravity
Posts: 5668
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 116 times
Contact:

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

Post by zg » Wed 13 Aug, 2014 20:30

true template зачем-то посылает пустой кейивент в ee_read. колорер не ожидает ProcessEditorInputW с неинициализированным editorSet.

User avatar
sluge
Posts: 5
Joined: Wed 16 May, 2012 11:06
Location: RU,52

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

Post by sluge » Fri 15 Aug, 2014 09:16

Привет всем,
У меня почетму-то подсветка работает только для файлов, у которых есть расширение, типа тхт. Как сделать так чтобы подсветка работала и для файлов без расширений?

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

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

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

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

Post Reply

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