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.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

Latest post of the previous page:

buniak_a_h wrote: Thu 08 Apr, 2021 03:27 Возможно, дело не в плагине
Естественно, дело не в колорере. Используйте Plugin.SyncCall из condition.
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

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

Post by buniak_a_h »

Shmuel, спасибо! Забыл… Я учил!
lvmm
Posts: 119
Joined: Thu 15 Apr, 2021 14:31
Has thanked: 8 times
Been thanked: 3 times

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

Post by lvmm »

Для awk он не понимает конструкцию $(i) - подсвечивает $( красным и выводит в ошибках. 1.3.0.23

зы можно его временно отключить прямо из редактора?
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 »

lvmm wrote: Thu 15 Apr, 2021 14:38 Для awk он не понимает конструкцию $(i) - подсвечивает $( красным и выводит в ошибках.
Да, в схеме раскраски для AWK случай, когда в качестве номера поля указано не число и не идентификатор, а более сложное выражение, вообще не предусмотрен. Но отключить раскраску такого как ошибки несложно, если этого вам будет достаточно. (Но это вам придётся делать у себя локально, т.к. вносить такое изменение в общую схему вряд ли кто-то станет.)
lvmm wrote: Thu 15 Apr, 2021 14:38 можно его временно отключить прямо из редактора?
Если «его» относится к плагину, то да, можно, притом разными способами (с разным смыслом). Это сравнительно недавно обсуждалось, ищите выше по теме.
siberia-man
Posts: 131
Joined: Sat 28 Jun, 2014 23:07
Has thanked: 2 times
Been thanked: 9 times

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

Post by siberia-man »

lvmm wrote: Thu 15 Apr, 2021 14:38 Для awk он не понимает конструкцию $(i) - подсвечивает $( красным и выводит в ошибках. 1.3.0.23
Возможно это решается так: https://github.com/colorer/Colorer-sche ... 7939368421

Суть изменений:
- -Добавил новую схему (унаследовал от awk)
-- Применил ее к блоку $( ... )

Решение не претендует на окончательное, но уже можно потестировать и выявить возможные ошибки.

Last edited by siberia-man on Fri 16 Apr, 2021 11:46, edited 1 time in total.
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

Привет.
Новость по поводу поддержки старых платформ.
Текущая версия FarColorer 1.3.x, входящая в дистрибутив и собираемая на сервере FarTeam поддерживает WinXP. Если не ошибаюсь, там сборка идет на одной из старых версий VC++2019. Так же плагин работает после сборки на VC++2017.
Но, сборка данной версии плагина на актуальной/последней версии VC++2019 уже не работает на WinXP. Кто-то уже обратил внимание, что сборки на github не работают. В принципе, починить это еще можно, я попробовал - работает.

Как выше в теме я уже писал, я собираюсь выпускать FarColorer 1.4, который работает на других внутренних библиотеках. Плюс сборка идет по другому принципу. Поддержать работу данной версии на WinXP уже сильно дорого как по времени, так и по нервам. Я не вижу больше смысла это делать.
Поэтому,
FarColorer 1.4.x и старше больше не будет поддерживать WinXP.
FarColorer 1.3.x поддерживает WinXP. Но развиваться не будет. Только исправление критичных ошибок.

Какая версия будет входить в дистрибутив Far по умолчанию - я не знаю. В моих планах было сделать автосборку плагина на github, и чтобы far при сборке скачивал готовый дистрибутив фиксированной версии. Но тут решение за @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 »

ctapmex wrote: Sun 25 Apr, 2021 14:39Но тут решение за @DrKnS
Следует понимать, что формально XP - всё.
Оно уже никем не поддерживется и не является системным требованием.
Решать я за вас ничего не буду, идею прекратить разврат и закопать стюардессу не осуждаю, равно как и продолжение банкета.

Far запускается в XP и 2k только потому, что основной костыль был написан 10 лет назад, когда это было еще актуально, а поддерживать его по инерции не сложно и вообще .
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

DrKnS wrote: Sun 25 Apr, 2021 16:42 Решать я за вас ничего не буду, идею прекратить разврат и закопать стюардессу не осуждаю, равно как и продолжение банкета.
я про то, что поставлять в комплекте с far по умолчанию. Как вариант можно поставлять работающий на большем числе платформ плагин. А желающие обновятся через плагины автообновления.
С другой стороны по такому же принципу можно и наоборот - кому надо старую платформу, "обновят" на старую версию. Наверное так правильнее.

основной костыль отличный. Вот как раз сделал https://github.com/colorer/FarColorer/c ... d354f629f7 . Но чем дальше, тем больше разных функций работы с потоками попадает в STL. И это уже не так просто. Особенно, если сборка идет с кучей внешних библиотек
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 »

ctapmex wrote: Sun 25 Apr, 2021 16:57 С другой стороны по такому же принципу можно и наоборот - кому надо старую платформу, "обновят" на старую версию. Наверное так правильнее.
Так правильнее. Не потому, что "мне удобнее". Вероятность обновлений на старых платформах реже (минное поле). Число пользователей старых платформ меньше (верояно). То есть объективно общее число замен на другую версию плагина будет меньше. Что и есть "правильнее".
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

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

Post by 2useven10 »

ctapmex wrote: Sun 25 Apr, 2021 16:57 тем больше разных функций работы с потоками попадает в STL
Там скорее синхронизация. В Renewal проблема решилась избавлением от std::mutex.
Со сторонними библиотеками да, контролировать сложно.
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 »

FarColorer 1.3.0.24 -- проблемы вызова меню через Plugin.Call / Plugin.SyncCall
FarColorer 1.3.0.23 из Far Manager 3.0.5780.x64 работает нормально
Last edited by Tim Sobolev on Thu 29 Apr, 2021 09:24, edited 1 time in total.
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 »

Tim Sobolev wrote: Thu 29 Apr, 2021 09:21 FarColorer 1.3.0.24 -- проблемы вызова меню через Plugin.Call / Plugin.SyncCall
Плоховат багрепорт. Какой код выполняете, какой нежелательный результат получаете?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

Tim Sobolev wrote: Thu 29 Apr, 2021 09:21 FarColorer 1.3.0.24 -- проблемы вызова меню через Plugin.Call / Plugin.SyncCall
FarColorer 1.3.0.23 из Far Manager 3.0.5780.x64 работает нормально
я, как и обещал год назад, удалил старое макро-апи. если что-то не работает на новых функциях, давайте посмотрим.
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 »

ctapmex wrote: Thu 29 Apr, 2021 16:45 я, как и обещал год назад, удалил старое макро-апи. если что-то не работает на новых функциях, давайте посмотрим.
Использовал

Code: Select all

Plugin.SyncCall("D2F36B62-A470-418D-83A3-ED7A3710E5B5",5);
В новой версии отсутствовала какая-либо реакция.

Пришлось переписать на

Code: Select all

Plugin.Menu("D2F36B62-A470-418D-83A3-ED7A3710E5B5");
Keys("5");
Last edited by Tim Sobolev on Thu 29 Apr, 2021 20:49, edited 1 time in total.
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

надо использовать новое макроапи

Code: Select all

Plugin.Call("D2F36B62-A470-418d-83A3-ED7A3710E5B5","Functions", "Show" )
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

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

Post by buniak_a_h »

ctapmex wrote: Fri 30 Apr, 2021 15:20 надо использовать новое макроапи
Кстати! За это - большое спасибо! У меня теперь вместо filemask в макросах проверка схемы colorer-а. Это и удобнее, и гибче :-)
Post Reply

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