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.
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 »

Latest post of the previous page:

Andrey Budko wrote:
sonar wrote:сейчас зарелизил версию 1.0.2.2 . И видимо начну заниматься производительностью работы.
Только если делать на 20-30%% быстрее, то смысла, как по мне - никакого. Надо в разы. Например вначале "грязно" раскрасить экран в позиции курсора плюс-минус и перерисовать.
да вы батенька зажрались :shock:
сама раскраска идет скорее всего быстро ( буду делать тестовые замеры). но как я писал выше, скорость ограничивается когда пользователь нажимает клавиши. если выделить в отдельный поток парсинг и раскраску, то реакция на ввод , я думаю увеличится, может и в разы. но приведет к тому что процессор уже будет загружен по полной. в общем будем глядеть что да как
chupakabra wrote:Colorer 5 beta4 понимала формат NMake makefile. В beta5 поддержку этого формата поломали. Хотелось бы вернуть её обратно. Пример некорректно раскрашиваемого файла: http://farmanager.com/svn/trunk/unicode_far/makefile_vc
В той же beta5 появились проблемы с распознаванием некоторых xml файлов. Пример: http://farmanager.com/svn/trunk/misc/ms ... taller.wxs
погляжу
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 »

провел небольшой тест.
взял ветку software из реестра. reg файл 63 мб или 440000 строк. прогнал замер скорости на colorer.exe . парсинг и раскраска примерно 30 секунд. загнал файл в фар. на 8 минуте я запарился ждать и вышел.
я этим не говорю что фар тормоз. показывает просто что вызов функций фара на раскраску, плюс немного другой принцип работы плагина в отличии от colorer.exe дает о себе знать. плагин - это редактор, а colorer.exe - вьювер
кстати команда clr это тоже вьювер. и он работает так же как colorer.exe. тот же файл через clr дает теже примерно 30 секунд

тест плагина производился по принципу - открыл файл, CtrlEnd в конец файла и ждем когда прорисуется
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

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

Post by t-rex »

Колорер тормоз потому что он тормоз и его надо чинить, а не придумывать почему его не надо чинить.
Красить лучше колорера не умеет ни кто, но пользоватся им невозможно. Airbrush может не красит так много форматом, но зато очень быстро.
ur
Posts: 25
Joined: Sat 31 Oct, 2009 09:38

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

Post by ur »

Far 2.0.1333, Colorer x86 1.0.2.2. При попытке вызвать настройку (любым способом, как в меню Colorer'а, так и через "Параметры внешних модулей") Far падает с таким сообщением:

Code: Select all

Microsoft Visual C++ Runtime Library
Runtime Error!

Program: C:\Program Files\Far2\Far.exe
 
This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.
P.S. Да, забыл добавить: Windows XP Home Edition SP2.
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 »

t-rex wrote:Колорер тормоз потому что он тормоз и его надо чинить, а не придумывать почему его не надо чинить.
Красить лучше колорера не умеет ни кто, но пользоватся им невозможно. Airbrush может не красит так много форматом, но зато очень быстро.
так и знал, что поймут не правильно.
я лишь сказал , что сам по себе колорер (не плагин) работает отлично. а вот плагин - тормозит.

извиняюсь за невежество, а Airbrush по какому принципу красит?
вот скажем Visual Studio, Delphi , AkelPad с плагином подсветки синтаксиса - просто подсвечивают служебные слова. тупо увидел while или for, причем не важно где - подсвети. А colorer же подсвечивает все основываясь на синтаксисе. так что colorer это плюсом встроенная проверка синтаксиса
ur wrote:Far 2.0.1333, Colorer x86 1.0.2.2. При попытке вызвать настройку (любым способом, как в меню Colorer'а, так и через "Параметры внешних модулей") Far падает с таким сообщением:

P.S. Да, забыл добавить: Windows XP Home Edition SP2.
на чистой Windows XP Pro SP3 не воспроизвелось.
а он вообще работает ? т.е. красит? ошибка именно при входе в меню?
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

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

Post by t-rex »

сорцы airbrush открыты можешь посмотреть, там как раз и фишка с тредом сделанна.
а красит он тоже синтакс-зависимо, а не тока по ключевым словам.
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 »

t-rex wrote:сорцы airbrush открыты можешь посмотреть, там как раз и фишка с тредом сделанна.
тред там больше для возможности по esc в любой момент прерваться. в колорер основные тормоза — интерпретация регэкспов. плюс я не помню, есть ли это в колорере, но в аирбраш есть кэш состояний.
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 »

zg wrote: плюс я не помню, есть ли это в колорере, но в аирбраш есть кэш состояний.
есть
User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

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

Post by Andrey Budko »

zg wrote:в колорер основные тормоза — интерпретация регэкспов. плюс я не помню, есть ли это в колорере, но в аирбраш есть кэш состояний.
Ну я для асм файлов выкладывал "упрощенный" вариант, который раскрашивал только комментарии вида (^;.*) - интерпретация вроде не сложной должна быть, а так же убрал обработку пользовательского ввода. Может конечно что-то сделал не так, но для 3мб тест файла это не помогло никак, так как мне без разницы, 3 минуты оно красит или 2 с половиной. Должно быть меньше секунды. Мне кажется, что в большинстве случаев предварительной раскраски только видимой части файла (хоть и не правильно) - хватало бы с головой.
Last edited by Andrey Budko on Thu 14 Jan, 2010 10:50, edited 1 time in total.
ur
Posts: 25
Joined: Sat 31 Oct, 2009 09:38

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

Post by ur »

sonar wrote:а он вообще работает ? т.е. красит? ошибка именно при входе в меню?
Да, работает (красит) нормально. Ошибка именно при входе в настройку (не само меню, а в пункт меню "настройка").
Предыдущая версия (1.0.2.1) работает нормально, откатился на неё.
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 »

Andrey Budko wrote: Ну я для асм файлов выкладывал "упрощенный" вариант, который раскрашивал только комментарии вида (^;.*) - интерпретация вроде не сложной должна быть, а так же убрал обработку пользовательского ввода. Может конечно что-то сделал не так, но для 3мб тест файла это не помогло никак, так как мне без разницы, 3 минуты оно красит или 2 с половиной. Должно быть меньше секунды. Мне кажется, что в большинстве случаев предварительной раскраски только видимой части файла (хоть и не правильно) - хватало бы с головой.
ты, кстати попробуй через clr , как по времени будет. на нормальной схеме.

да я и не отрецаю, что есть тормоза. но все таки они на стороне плагина, а не библиотеки.
ur wrote: Да, работает (красит) нормально. Ошибка именно при входе в настройку (не само меню, а в пункт меню "настройка").
Предыдущая версия (1.0.2.1) работает нормально, откатился на неё.
странно, покажи настройки из реестра HKEY_CURRENT_USER\Software\Far2\Plugins\colorer
User avatar
Px
Posts: 826
Joined: Fri 08 Sep, 2006 15:52
Location: Вишнёвый (под Киевом)
Contact:

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

Post by Px »

Немного недоработок в одной из схем
colorer\hrc\auto\types\auto.jar\types\assa.hrc
1) В разделе [V4+ Styles] поля Outline и Shadow могут иметь не только целочисленные, но и дробные значения
2) Аналогично для переопределяющих тегов \bord, \shad, \fs, \frz, \fscx, \pos, \move
3) Добавить теги \ko, \kf (насколько я понял, для этого достаточно заменить строку 154 на

Code: Select all

  <regexp match="/(\\)(b|bord|shad|fs|fsc[xy]|fsp|fe|[kK]|k[of])(\d+)[\\\}\)]?=/"
4) Содержимое тегов \p1, \p2, \p4 может иметь отрицательные значения
5) В тегах \p1, \p2, \p4 для s минимальное количество параметров 6, а не 8
6) Теги \p1, \p2, \p4 могут находиться в любой позиции среди других тегов, а не только в последней
7) Добавить теги \fax и \fay с покраской их другим цветом, поскольку для их работы нужна достаточно свежая версия рендера субтитров
Примеры неправильно красящихся файлов во вложении
Attachments
Subtitles.zip
Субтитры
(22.33 KiB) Downloaded 99 times
ur
Posts: 25
Joined: Sat 31 Oct, 2009 09:38

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

Post by ur »

То же самое повторяется на другой машине с Windows XP Professional SP2. Может быть, дело в SP2 (т.е. в отстутствии SP3)? Но всё равно непорядок...
sonar wrote:странно, покажи настройки из реестра HKEY_CURRENT_USER\Software\Far2\Plugins\colorer
Пробовал удалять эту ветку реестра (чтобы колорер сам её пересоздал) - тот же эффект.
Сейчас там вообще пусто.
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 »

ur wrote:То же самое повторяется на другой машине с Windows XP Professional SP2. Может быть, дело в SP2 (т.е. в отстутствии SP3)? Но всё равно непорядок...
воспроизвел, именно на sp2
AlexSM
Posts: 32
Joined: Mon 21 Mar, 2005 09:50

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

Post by AlexSM »

sonar wrote:
ur wrote:То же самое повторяется на другой машине с Windows XP Professional SP2. Может быть, дело в SP2 (т.е. в отстутствии SP3)? Но всё равно непорядок...
воспроизвел, именно на sp2
на win7 повторяется...
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 »

AlexSM , ur
попробуйте эту версию


вообще очень странное дело. у себя на winxp sp2 и win 7 x64 я воспроизвел это. Другие говорят, что у ниъ на sp2 все нормально. блин баг плавающий. в отладчике я не смог его поймать. при возникновении ошибки управление не передается VC++ . причем даже брекпоинты не дают ничего. Пересоберешь плагин ничего не меняя - все работает. потом раз - снова сбоит... Я конечно нашел пару багов, но они на это не должны были влиять, мне кажется что то компилятор дурит. Эта версия у меня на win 7 пошла нормально, на xp sp2 нет возможности проверить.
Post Reply

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