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

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

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

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

Far Colorer — плагин подсветки синтаксиса в редакторе, основанный на Colorer Library Игоря Русских.

- Актуальные версии основаны на Colorer Library версии take5.
- Изначальный автор плагина — Игорь Русских (lomecb, он же cail).
- После того как плагин портирован на Far 2, поддержкой занимается Алексей Добрунов (ctapmex, он же на форуме ctapmex).
- Официальная поддержка осуществляется через google-группу colorer_ru (на форуме бывает только ctapmex).

Домашняя страница библиотеки Colorer | Домашняя страница плагина для FAR | GitHub | Анонс

Плагин входит в дистрибутив Far Manager с v3.0.2948 (старые версии доступны тут)



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

писят шесят семисят
Posts: 37
Joined: Thu 02 Jul, 2015 22:11
Has thanked: 4 times
Been thanked: 1 time

Подсветка синтаксиса

Post by писят шесят семисят » Wed 24 Aug, 2016 17:05

Latest post of the previous page:

Скажите, а это нормально, что в одном XML файле подсветка работает только на первых 4988 символах?
А в другом если его открыть с конца, она не работает, пока не вернешься на 7654 строку, зато потом работает до конца файла?
Attachments
Capture.JPG
Capture.JPG (45.46 KiB) Viewed 6106 times

Karagy
Posts: 56
Joined: Tue 02 May, 2006 08:43
Location: Питер
Been thanked: 3 times

Подсветка синтаксиса

Post by Karagy » Wed 24 Aug, 2016 17:20

Совершенно нормально.

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

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

Post by HaRT » Wed 24 Aug, 2016 17:28

писят шесят семисят wrote: подсветка работает только на первых 4988 символах
Тут соль в том, что они все в одну строку. Как изменить конкретную предельную длину строки, ищите в этой теме.
писят шесят семисят wrote: если его открыть с конца, она не работает, пока не вернешься на 7654 строку
А это баг, его как раз на той неделе обсуждали: тут и далее.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
Sim
Posts: 351
Joined: Fri 12 Jun, 2009 09:43
Has thanked: 1 time
Contact:

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

Post by Sim » Wed 31 Aug, 2016 11:28

HaRT wrote:
писят шесят семисят wrote: подсветка работает только на первых 4988 символах
Тут соль в том, что они все в одну строку. Как изменить конкретную предельную длину строки, ищите в этой теме.
Ну вот почему-то настройка параметра maxlinelength не помогает, Colorer все равно пытается раскрасить длинные строки до 5000 позиции и подвешивает Far на несколько минут, если файл пару МБ размером и все в одну строку.

Может надо где-то еще этот параметр настроить чтобы он применился?
Last edited by Sim on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Исправлена цитата
Случайности не случайны.

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

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

Post by NightRoman » Fri 02 Sep, 2016 11:46

Far 3.0.4774 x64 (с x86 все нормально).
Кто-нибудь наблюдает такую проблему?

- открыть Фар, перейти в его папку
- открыть в редакторе FarEng.hlf
- перейти в панели, не закрывая редактор
- выйти из Фара (F10)

Получаем на консоли:

Code: Select all

Exception: Divide by zero
Address: 0x000007FEEFBB3575 GetMinFarVersionW
Function: ProcessEditorEventW
Module: C:\Bin\Far\x64\Plugins\FarColorer\bin\colorer.dll

0x000007FEEFBB3575 GetMinFarVersionW
0x000007FEEFBB2DC2 GetMinFarVersionW
0x000007FEEFBB2F60 GetMinFarVersionW
0x000007FEEFBA0441 GetMinFarVersionW
0x000007FEEFB97983 GetMinFarVersionW
0x000007FEEFB9359B ProcessEditorEventW
0x000000013F8FB9E7
0x000000013F8FAA49
0x000000013F8F8809
0x000000013F92A2FE
0x000000013F921B45
0x000000013F7F5CDE
0x000000013F82F83B
0x000000013F94150A
0x000000013F8DDE66
0x000000013F8DB84B
0x000000013F8DB773
0x000000013F8DB4C7
0x000000013F8DB0F7
0x000000013F8D8B74
0x000000013F7BDC63
0x000000013F8D735E
0x000000013F8D7181
0x000000013F8D7460
0x000000013F8D7524
0x000000013F8D74FF
0x000000013F98FB20
0x00000000770A59BD BaseThreadInitThunk
0x00000000772DA2E1 RtlUserThreadStart

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

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

Post by HaRT » Fri 02 Sep, 2016 12:02

NightRoman wrote: Кто-нибудь наблюдает такую проблему?
Я специально проверил на Фаре, распакованном (НЕ установленном) внутри [i][b]C:\Users\ACCOUNT\Documents\Far\[/b][/i] и запущенном без прочих плагнинов, — не воспроизводится.
Фар есть инструмент, а не нянька. © 2009 DrKnS

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

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

Post by NightRoman » Fri 02 Sep, 2016 12:06

Без прочих плагинов я тоже проверял, повторяется. Может, дело в настройках. Буду еще разбираться. А может кто-то и воспроизведет тоже.

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

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

Post by NightRoman » Fri 02 Sep, 2016 12:09

Снес все настройки. Повторяется.

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

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

Post by HaRT » Fri 02 Sep, 2016 13:18

NightRoman wrote: Снес все настройки. Повторяется.
Спрятал все настройки — не воспроизводится.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
DrKnS
Posts: 4535
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 113 times
Contact:

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

Post by DrKnS » Fri 02 Sep, 2016 17:52

Весна показала, кто где на ноль делил?

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

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

Post by Kerberos464 » Wed 07 Sep, 2016 16:21

установил тут себе плагин [esc], создал простецкий конфиг esc_user.xml, строка со слово "bom" в нём подсвечивается неверно.
видимо, схема не знает такого ключевого слова (схема определилась как scripts.far -> Extended selection case).
скрин:

far 3.0.4783 x86.
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 - весь фар перестал работать.

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

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

Post by HaRT » Wed 07 Sep, 2016 16:49

Kerberos464 wrote: scripts.far -> Extended selection case
Интересно, на каком основании эта ересь появилась в описании схемы (притом и в esc.hrc, и в proto.hrc)… На самом деле полное название плагина “[ESC] Editor's settings changer”. Хорошо бы в Колорере исправить.
Last edited by HaRT on Wed 07 Sep, 2016 16:50, edited 1 time in total.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
techie
Posts: 733
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 23 times
Been thanked: 2 times

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

Post by techie » Fri 09 Sep, 2016 04:47

История утеряна из-за херовой "миграции" на Github https://github.com/colorer/Colorer-sche ... ar.ent.hrc но можно покопаться с svn здесь вот https://sourceforge.net/p/colorer/svn/H ... ar.ent.hrc


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

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

Post by HaRT » Fri 09 Sep, 2016 11:46

techie wrote: История утеряна
Да в данном случае она не так и важна. Просто надо, чтобы кто-то, для кого это раз плюнуть, взял и исправил эту строку в двух файлах.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
techie
Posts: 733
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 23 times
Been thanked: 2 times

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

Post by techie » Sat 10 Sep, 2016 07:22

Ааа, ну так кому угодно это раз плюнуть - на GitHub прям есть кнопочка Edit для такого.

Fixed. https://github.com/colorer/Colorer-sche ... its/master
Last edited by techie on Sat 10 Sep, 2016 07:28, edited 1 time in total.

Alexander Zvyagin
Posts: 1
Joined: Sun 18 Sep, 2016 16:34

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

Post by Alexander Zvyagin » Sun 18 Sep, 2016 16:58

Плиз, помогите художнику!
Для себя я ещё иногда программирую на С++, поэтому пользуюсь для этого Far'ом.
У меня долго был старый Far 1.70, и там была настроена вот такая схема подсветки синтаксиса:

http://imgur.com/a/dJzHn

для вот этого альтернативного плагина:

http://plugring.farmanager.com/plugin.php?pid=90&l=en

Для Far 64bit этого плагина больше нет.
Поэтому я решил наконец настроить Colorer.
И тут возник такой вопрос...

Дело в том, что разные ключевые слова в стандартной цветовой схеме Colorer отнесены по группам языка: KeywordsSTL, С++11, унаследованные от Си и т.д. Но если подойти к вопросу как художник, то "на выхлопе" подсветки есть всего 15 цветов из 16-тицветной палитры (чёрный не считаем).

В итоге хочется иметь в схеме Colorer-а не синтаксические, а именно цветовые группы: White, Yellow, Blue и т.д.

В этом случае для настройки цветовой схемы пользователю даже не надо указывать цвет - ему будет достаточно только переместить ключевые слова языка из одного цвета в другой. Ну и поменять цвета синтаксических элементов типа скобочек, которые останутся, как сейчас.

То есть вопрос в переделке синтаксических групп Colorer-а.

Например я хочу, что вот эта секция в *.hrd-файле:

<assign name="def:Syntax" fore="#2"/>
<assign name="def:String" fore="#5"/>
<assign name="def:StringContent" fore="#5"/>
<assign name="def:StringEdge" fore="#5"/>
<assign name="def:Number" fore="#b"/>
<assign name="def:NumberSuffix" fore="#b"/>
<assign name="def:NumberPrefix" fore="#b"/>
<assign name="def:Keyword" fore="#e"/>
<assign name="def:KeywordANSI" fore="#f"/>
<assign name="def:KeywordStrong" fore="#f"/>

<assign name="и т.д."/>

поменялась примерно так:

<assign name="def:Syntax" fore="#2"/>
<assign name="def:String" fore="#5"/>
<assign name="def:StringContent" fore="#5"/>
<assign name="def:StringEdge" fore="#5"/>
<assign name="def:Number" fore="#b"/>
<assign name="def:NumberSuffix" fore="#b"/>
<assign name="def:NumberPrefix" fore="#b"/>
<assign name="def:White" fore="#f"/>
<assign name="def:Yellow" fore="#e"/>
<assign name="def:Blue" fore="#3"/>

<assign name="и т.д."/>

Нужно мне это, потому что как художник я настроил цвета разных ключевых слов максимально контрастно, чтобы например, двух жёлтых рядом не было (см. картинки выше). Но сейчас в Colorer-е, например "namespace" и "class" относятся к одной группе и им разные цвета не поставишь...

Спасибо!

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

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

Post by NightRoman » Sun 18 Sep, 2016 19:19

Alexander Zvyagin wrote: например "namespace" и "class" относятся к одной группе
Мне кажется, что именно это надо поменять, чтобы позволить цветовую кастомизацию отдельно.

Текущая принципиальная организация схем мне кажется правильной. Они не должны знать или оперировать понятием "цвет". Цвет это одно из возможных представлений "региона" (и не единственное, колорер может создавать и HTML, и там можно и другие атрибуты регионам задать, не только цвета, это не консоль). Схемы и оперируют понятием "регион". Представление регионов определяется позже.

Другое дело, что некоторые схемы либо используют дефолтные регионы, либо не делают детально подразбивки на регионы, чтобы можно было тонко настроить. Но это исправляемые дефекты схем, а не подхода колорера.
Last edited by NightRoman on Sun 18 Sep, 2016 19:22, edited 2 times in total.

Post Reply

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

Who is online

Users browsing this forum: Yahoo [Bot] and 14 guests