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.
Alexander Zvyagin
Posts: 1
Joined: Sun 18 Sep, 2016 16:34

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

Post by Alexander Zvyagin »

Latest post of the previous page:

Плиз, помогите художнику!
Для себя я ещё иногда программирую на С++, поэтому пользуюсь для этого 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 »

Здоровья
умаялся....
помогите плиз сделать так как это делает вот этот плаг видимо под какойто никс редактор.... - все что мне нужно - чтобы хекскодцвета подсвечивался тем же цветом....
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Talon wrote: чтобы хекскодцвета подсвечивался тем же цветом....
В каких файлах? HTML поди?
А вообще я смутно помню, что в этой теме что-то такое обсуждалось, но вот как найти, не подскажу.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Talon
Posts: 17
Joined: Tue 22 Sep, 2009 16:09
Location: Kiev
Contact:

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

Post by Talon »

файлы не штмл... - xml... - наполненные настройками расцветок элементов именно в хексах....
.... думал: "да кудаж проще" - "колорер только этим и должен заниматься"......... - и такой тупняк в итоге / - мало того что уже который день но даже и приблизительно не понимаю как к этому сабжу подступиться - так еще и в глобальном масштабе вопрос нифига малой кровье не решабельный /
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 »

Какой xml имеется в виду? Если речь о кодах цветов консоли в .hrd файлах, то решение было, могу вспомнить.
ccaid
Posts: 908
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 24 times
Been thanked: 6 times

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

Post by ccaid »

Фар делают добрые люди
User avatar
Talon
Posts: 17
Joined: Tue 22 Sep, 2009 16:09
Location: Kiev
Contact:

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

Post by Talon »

вот такой....

все что мне нужно - только хексцвета чтоб сами своимиже цветами подсвечивались...

...буду очень признателен
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 »

@Talon, теперь понятнее. Это не то, для чего у меня где-то было решение. Помочь не могу, желаю удачи.
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

Talon, чисто из спортивного интереса написал
Поскольку мне это сейчас не нужно, преобразования цветов XML->Far выполнены самым примитивным образом (и некорректно). Это оставлено как упражнение для читателя. :)
User avatar
Talon
Posts: 17
Joined: Tue 22 Sep, 2009 16:09
Location: Kiev
Contact:

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

Post by Talon »

это не макрос простой - это ты простой.... )
- мне и это! - манна! )
спасибо
Post Reply

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