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
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

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

Post by NightRoman »

Latest post of the previous page:

Снес все настройки. Повторяется.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

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

Post by HaRT »

NightRoman wrote: Снес все настройки. Повторяется.
Спрятал все настройки — не воспроизводится.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

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

Post by DrKnS »

Весна показала, кто где на ноль делил?
User avatar
Kerberos464
Posts: 1239
Joined: Wed 29 Jul, 2009 20:24
Location: Saint-Petersburg
Has thanked: 19 times
Been thanked: 1 time

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

Post by Kerberos464 »

установил тут себе плагин [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: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

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

Post by HaRT »

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: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

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

Post by techie »

История утеряна из-за херовой "миграции" на 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: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

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

Post by HaRT »

techie wrote: История утеряна
Да в данном случае она не так и важна. Просто надо, чтобы кто-то, для кого это раз плюнуть, взял и исправил эту строку в двух файлах.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

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

Post by techie »

Ааа, ну так кому угодно это раз плюнуть - на 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 »

Плиз, помогите художнику!
Для себя я ещё иногда программирую на С++, поэтому пользуюсь для этого 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: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

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

Post by NightRoman »

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

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

Другое дело, что некоторые схемы либо используют дефолтные регионы, либо не делают детально подразбивки на регионы, чтобы можно было тонко настроить. Но это исправляемые дефекты схем, а не подхода колорера.
Last edited by NightRoman on Sun 18 Sep, 2016 19:22, edited 2 times in total.
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

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

Post by Maximus5 »

А можно ли для собственной hrc схемы задать свой цвет по умолчанию для текста?
То есть в hrd-файле у меня есть

Code: Select all

<assign fore="#808000" back="#fdf6e3" name="diff:Text"/>
и хочется чтобы он использовался в схеме (hrc-файл) вместо "def:Text".
В итоге хочется влиять на цвет whitespace символов.
User avatar
Tim Sobolev
Posts: 729
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 7 times

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

Post by Tim Sobolev »

В Python кривая подсветка:

Code: Select all

[r':\\', r'://']
User avatar
Sim
Posts: 435
Joined: Fri 12 Jun, 2009 09:43
Has thanked: 11 times
Been thanked: 2 times
Contact:

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

Post by Sim »

И все таки, как сделать чтобы Фар не зависал на несколько минут при попытке открыть большой файл (порядка 900kB), содержащий код в одну строку?
уменьшение параметра maxlength не помогает, я ставил 500 и даже меньше, однако когда дожидаюсь открытия файла, то обнаруживаю что раскраска прошла все равно до 5000 символа.
Очень расстраивает такое поведение колорера. Может можно как-то отключить полный парсинг длинных строк?
Last edited by Sim on Wed 28 Sep, 2016 04:13, edited 1 time in total.
Случайности не случайны.
User avatar
Sim
Posts: 435
Joined: Fri 12 Jun, 2009 09:43
Has thanked: 11 times
Been thanked: 2 times
Contact:

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

Post by Sim »

Порой важнее быстро открыть файл чем открыть его раскрашенным, в связи с этим было бы удобно если бы была возможность настроить отключение раскраски если она длится более определенного числа секунд.
Colorer пытается раскрасить файл и если это занимает, например более 5 секунд, то останавливать раскраску и открывать файл не раскрашенный, или подсвечивать только ключевые слова, например.
Last edited by Sim on Wed 28 Sep, 2016 04:07, edited 1 time in total.
Случайности не случайны.
User avatar
Talker
Posts: 41
Joined: Thu 20 Oct, 2011 12:04
Has thanked: 5 times

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

Post by Talker »

Привет!

В последнем стандарте Javascript появились обратные кавычки для обозначения строк:

Code: Select all

let srtingBla = `бла--бла`;
, а также возможность встраивания переменной внутрь такой строки:

Code: Select all

let srtingBla = `бла-${myCoolVar}-бла`;
Как настроить Colorer, чтобы он корректно отображал это все?
Last edited by Talker on Mon 03 Oct, 2016 08:58, edited 1 time in total.
User avatar
Talon
Posts: 17
Joined: Tue 22 Sep, 2009 16:09
Location: Kiev
Contact:

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

Post by Talon »

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

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