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

Здесь можно обсудить ваш любимый плагин.
User avatar
ctapmex
Posts: 1241
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.
JFK
Posts: 34
Joined: Fri 05 Jan, 2007 06:37

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

Post by JFK »

Latest post of the previous page:

Игорь Юдинцев wrote:Повторил тестирование для библиотек без SSE2, с SSE2 и для библиотеки, собранной ICC.
Для каждого файла результаты совпадают у всех трёх библиотек.
Я проводил тестирование на заголовочных файлах из Microsoft SDK 6.0a. В частности, самый большой (~3 Мб, 86537 строк) файл Mshtmlc.h обрабатывался версией колорера без SSE за 36 секунд, и версией ICC/SSE2 за 32 секунды. Прирост небольшой, но он есть.

Причины такого небольшого прироста производительности, очевидно, лежат в алгоритме колорера, который плохо работает с длинными строками и не поддаётся параллелизации.
User avatar
ctapmex
Posts: 1241
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

по поводу колорера 5
что вы подразумиваете под "раскрашивает весь файл"?
если - открываешь файл и он его сразу полностью раскрашивает - то это в корни не верно.
он раскрашивает файл по мере просмотра. но надо учесть, что если часть файла уже раскрашена, а вы переходите к паре страниц вперед/назад , то раскраска не убирается.
это можно проверить особо не погружаясь в код. замечу только , что когда вы отключаете колорер, находясь в редаторе, то происходит лишь одно - флагу "работает" присваивается false. А проверяем так. открываем файл, можете подождать какое то время , если надеетесь что он разукрашивает. затем можете пройтись по файлу на пару страниц. а затем отключите плагин, и пройдитесь по файлу. становится видно , что страницы, которые вы не видели - не раскрашены. те что видели - раскрашены.
d.k.Brazz
Posts: 176
Joined: Wed 07 Sep, 2005 17:02
Location: дети берутся?

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

Post by d.k.Brazz »

Sim wrote:А в чем смысл раскрашивать весь файл? особенно если он ну очень здоровый?
Потому что некоторые типы фалов нельзя раскрасить кусочно где то в середине не зная что было вначале и чем вся эта писанина заканчивается. Например html со встроеным php-кодом. Или XML в котором при неправильном синтаксисе весь блок выделяется красным.
User avatar
zg
zero-gravity
Posts: 6038
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

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

Post by zg »

sonar wrote:что вы подразумиваете под "раскрашивает весь файл"?
под этим понимается парсинг всего файла. естественно реально красятся только строки на экране. до пятой версии колорер для раскраски не парсил весь файл, а только начиная с (текущая_позиция-сколько_то_строк).
User avatar
qfox
Posts: 21
Joined: Mon 29 Jun, 2009 18:46
Location: Москва
Contact:

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

Post by qfox »

d.k.Brazz wrote:Потому что некоторые типы фалов нельзя раскрасить кусочно где то в середине не зная что было вначале и чем вся эта писанина заканчивается. Например html со встроеным php-кодом. Или XML в котором при неправильном синтаксисе весь блок выделяется красным.
Дак ведь получается, что из-за phtml обычные php файлы с только <?php в начале обрабатываются так же полностью, как и со встроенным в html.
Дело в том, что большие файлы в десятки-сотки килобайт нормального кода не содержат в себе view в принципе, и зачем парсить в данном случае весь файл - остается загадкой...
Может быть реально лучше использовать разные режимы для чтения файлов? Или это нереально?

Сижу на Celeron 1,8GHz, 2GB DDR, и последнее время уже на 10-20 КБ файлах колорер начинает серьезно тормазить систему... Дело, думаю, в регулярных выражениях и в его универсальности, но с этим врядли можно что-то сделать "по-быстрому".

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

UPD: Кстати. Может быть есть смысл сделать кеш промежуточных данных колорера на пару часов тех файлов, которые обрабатывались (попали под расстрел) колорера?..
bla-bla. bla.
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

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

Post by Centaur »

А, зато mcedit как вдруг решит, что мы внутри строкового литерала — и туши свет.
s0larian
Posts: 7
Joined: Mon 12 Nov, 2007 21:40

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

Post by s0larian »

Народ, выложите пож-ста полный рабочий комплект colorer-a под Far2/stable. Ну или инструкцию что брать из комплекти исходников... А то новая .dll не работает с последним оф. комплектом 2006 года.
Last edited by s0larian on Wed 01 Jul, 2009 01:08, edited 1 time in total.
Aleksoid1978
Posts: 7
Joined: Fri 08 May, 2009 06:27

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

Post by Aleksoid1978 »

s0larian wrote:Народ, выложите пож-ста полный рабочий комплект colorer-a под Far2/stable.
Присоединяюсь, именно полный нужен ...
JFK
Posts: 34
Joined: Fri 05 Jan, 2007 06:37

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

Post by JFK »

s0larian wrote:Народ, выложите пож-ста полный рабочий комплект colorer-a под Far2/stable.
Скачать
s0larian
Posts: 7
Joined: Mon 12 Nov, 2007 21:40

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

Post by s0larian »

JFK wrote:Скачать
Эх, получаю crash при первом же вызове редактора... Это на stable v2.0 build 981 x86 (2009-06-06).
User avatar
ctapmex
Posts: 1241
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

обнови фар, билд должен быть вроде не ниже 994, а лучше и выше
и кстати у меня вместе с conemu (или как там он называется) вроде было такое, не дружат они что то.
s0larian
Posts: 7
Joined: Mon 12 Nov, 2007 21:40

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

Post by s0larian »

О! Красота, спасибо.
JFK
Posts: 34
Joined: Fri 05 Jan, 2007 06:37

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

Post by JFK »

s0larian wrote:Эх, получаю crash при первом же вызове редактора... Это на stable v2.0 build 981 x86 (2009-06-06).
Как уже много раз писали разработчики, понятия alpha/beta/stable к Far'у неприменимы. :)

Так что советую обновиться до последней сборки (1013), а ещё лучше - установить плагин Update, который будет прикачивать новые билды автоматом.
User avatar
Александр Кряжев
Posts: 882
Joined: Sun 03 Dec, 2006 10:09
Location: Москва
Has thanked: 2 times
Contact:

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

Post by Александр Кряжев »

JFK wrote:а ещё лучше - установить плагин Update, который будет прикачивать новые билды автоматом.
... и, на случай изменения API Far'а, вседа иметь работающий backup.

Фар - маргинальный продукт. (c) zg
Aleksoid1978
Posts: 7
Joined: Fri 08 May, 2009 06:27

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

Post by Aleksoid1978 »

sonar wrote:обнови фар, билд должен быть вроде не ниже 994, а лучше и выше
и кстати у меня вместе с conemu (или как там он называется) вроде было такое, не дружат они что то.
Все ок - фар 1013 х86 + ConEmu последний - эта версия Colorer работает на ура, правда помедленнее чем colorer4ever , но все равно ок, главное что не вылетает
VBlack
Posts: 1
Joined: Thu 02 Jul, 2009 00:41

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

Post by VBlack »

А кто-нибудь может выложить сборку под х64 для Far2 ? Заранее спасибо.
Post Reply

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