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
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

Latest post of the previous page:

ctapmex, давно не обновлялся https://github.com/colorer/Colorer-sche ... /CHANGELOG
https://t.me/FarManager — Telegram чат
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

Code: Select all

╔══════ Settings ══════╗
║  Main settings       ║
║  Scheme settings     ║
║  Logging settings    ║
╟──────────────────────╢
║  Test schema library ║
╚══════════════════════╝
Желательно запоминать пункт, в который входим, чтобы при возвращении список возвращаться к нему.
https://t.me/FarManager — Telegram чат
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

Test schema library - мелькание с косметичесикими дефектами.
Тот случай, когда Save/Restore не вредило.
Впрочем наверно ещё лучше установить сразу максимальную ширину (добивая пробелами короткие строки).
Можно и не сразу, а по мере вывода.
https://t.me/FarManager — Telegram чат
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

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

Post by citRiks »

John Doe wrote: Sun 12 Apr, 2020 10:12 Test schema library - мелькание с косметичесикими дефектами.
Мне мелькание, если оно не требует внимания к себе, особо не мешает..
А я вот бы лучше спросил,
может добавить управление наличием крестика (более важно) и его цветом (менее важно)через АПИ?
в хелпе есть много хорошего, например "Выделить блок между скобок" в Plugin.Call,
но про крестик пока нету.

(Еще менее важно: )
В целом и далее, сложно ли добавить управление цветами через АПИ динамически?
можно редактировать программно HRC, но потом как я понимаю надо перезагружать схему тогда
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

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

Post by citRiks »

и как продолжение не очень важных тем:
Пробовал бороться вчера с тру-колорными расцветками в Конему,
два часа боролся, перепробовал почти все схемы,
но все пробованые варианты получались какими-то дичайшими для меня,
одни слишком тусклые, другие наоборот и непривычные,
или же все хорошо, но почему то тогда исчезает крест
Но это не очень важно, главное что стандарт работает Ок для меня

Версия колорера 1.2.11.0 . 24.01.2019, ФАР 5577, х86, х64, Win7 SP1 Про, х86, х64, Конему 190714
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

John Doe wrote: Sun 12 Apr, 2020 09:22 Желательно запоминать пункт, в который входим, чтобы при возвращении список возвращаться к нему.
ok
John Doe wrote: Sun 12 Apr, 2020 10:12 Test schema library - мелькание с косметичесикими дефектами.
Тот случай, когда Save/Restore не вредило.
Впрочем наверно ещё лучше установить сразу максимальную ширину (добивая пробелами короткие строки).
Можно и не сразу, а по мере вывода.
тест идет быстро. графические артефакты в 1.3.1 немного поправил. больше смысла нет. не то это место, где нужна красота
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

citRiks wrote: Sun 12 Apr, 2020 11:38 может добавить управление наличием крестика (более важно) и его цветом (менее важно)через АПИ?
в хотелках есть. разберусь как с макросами работать (не пользуюсь) и сделаю. вообще я был бы примного благодарен, если бы кто-нибудь описал условный пример вызова такого api . Чтобы им было вам удобно пользоваться.
citRiks wrote: Sun 12 Apr, 2020 11:38 В целом и далее, сложно ли добавить управление цветами через АПИ динамически?
можно редактировать программно HRC, но потом как я понимаю надо перезагружать схему тогда
это уже космос какой то. Для начало с простым апи разберемся. а для этого нужны примеры использования
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

citRiks wrote: Sun 12 Apr, 2020 11:47 и как продолжение не очень важных тем:
Пробовал бороться вчера с тру-колорными расцветками в Конему,
два часа боролся, перепробовал почти все схемы,
но все пробованые варианты получались какими-то дичайшими для меня,
одни слишком тусклые, другие наоборот и непривычные,
или же все хорошо, но почему то тогда исчезает крест
Но это не очень важно, главное что стандарт работает Ок для меня
цветовые схемы можно создать свои. могу и добавить их в стандартные. и тогда и глазам будет комфортно
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

buniak_a_h wrote: Sun 12 Apr, 2020 01:42 Ещё добавочка.
1. При замене плагина на тот, что был в версии ФАРа 5579 вылеты исчезают.
2. Для определённости: колорер вылетает, в частности, при просмотре файла %FarHome%\Plugins\FarColorer\history.ru.txt. Файл - в кодировке UTF-8, кодировка распознаётся (старой версией) правильно.
проверь на 1.3.1 или более новом . уже в ночных выложен. с диалогом настроек я поправил. а все остальное пока не понимаю о чем речь.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

ctapmex wrote: Sun 12 Apr, 2020 12:34 не то это место, где нужна красота
Речь не о красоте, а о опрятности. Исправить несложно.
https://t.me/FarManager — Telegram чат
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

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

Post by citRiks »

ctapmex wrote: Sun 12 Apr, 2020 12:39 цветовые схемы можно создать свои. могу и добавить их в стандартные. и тогда и глазам будет комфортно
да, давайте, особенно если там что то классическое синее.
темное на белом тоже нравится (в смысле не черное белое, а темные буквы на светлом)
создавать свое пока не в приоритетах, искаропочное люблю больше :)
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

citRiks wrote: Sun 12 Apr, 2020 12:49 да, давайте, особенно если там что то классическое синее.
темное на белом тоже нравится (в смысле не черное белое, а темные буквы на светлом)
создавать свое пока не в приоритетах, искаропочное люблю больше :)
я, видимо, не четко выразился. -) я предложил вам или другим создать
я в ide цвета начинаю настраивать ичерез 15 минут плюю и использую чужое. нет у меня чувства стиля в цветах
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

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

Post by citRiks »

ctapmex wrote: Sun 12 Apr, 2020 12:38 в хотелках есть. разберусь как с макросами работать (не пользуюсь) и сделаю. вообще я был бы примного благодарен, если бы кто-нибудь описал условный пример вызова такого api . Чтобы им было вам удобно пользоваться.
С удовольствием и счастьем помогу, но мнe не совсем понятно,
ведь у вас в хелпе в вашем же хелпе написано как работать с АПИ колорера?

Code: Select all

 Using a plugin in macros
 ──────────────────
    The plugin can be called from a macro using the macro function Plugin.Call(GUID,[param]).
    Call format:
       Plugin.Call("D2F36B62-A470-418d-83A3-ED7A3710E5B5",<Params>)
       
    Here:
       D2F36B62-A470-418d-83A3-ED7A3710E5B5
          Guid of the plugin
          
       <Params>
          The first parameter can be a number, which corresponds to the following commands:
            1 - List types
            2 - Match pair
            3 - Select block
            4 - Select pair
            5 - Outliner List
            6 - Errors List
            7 - Select region
            8 - Region info
            9 - Find function
            11 - Update highlight
            12 - Reload schema library
            13 - Configuration

         For example, list the types available:
         Plugin.Call("D2F36B62-A470-418D-83A3-ED7A3710E5B5",1)

         Or a string value:            
         "status" - work with the plug-in status.
         plugin.call (Guid, "status")
         If the second parameter is missing, it returns the status of the plugin activity.
         plugin.call (Guid, "status", new_status)
         If the second parameter is true/false, or it corresponds to an integer value, 
         the plugin will be transferred to the specified status. 
         Return Value true/false indicates success of the command.
Пример макроса для для тестирования вызова по АПИ:

Code: Select all

local plg_clr_id = 'D2F36B62-A470-418D-83A3-ED7A3710E5B5';
Macro { area = "Editor";
	key = "CtrlAltL";
	description = "Editor: List of types";
	action = function()
		Plugin.Call(plg_clr_id, 1);
	end
}
Last edited by citRiks on Sun 12 Apr, 2020 13:30, edited 3 times in total.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

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

Post by citRiks »

Т.е., добавить "cross on/off" можно по полной аналогии с уже существующим АПИ:

Code: Select all

..
       <Params>
          The first parameter can be a number, which corresponds to the following commands:

            1 - List types
            2 - Match pair
            ...
            12 - Reload schema library
            13 - Configuration
            20 - Cross control

           For example, 
           get the cross status:
           Plugin.Call("D2F36B62-A470-418D-83A3-ED7A3710E5B5", 20, -1)

           Set the cross status ON:
           Plugin.Call("D2F36B62-A470-418D-83A3-ED7A3710E5B5", 20, 1)

           Set the cross status OFF:
           Plugin.Call("D2F36B62-A470-418D-83A3-ED7A3710E5B5", 20, 0)
..
Last edited by citRiks on Sun 12 Apr, 2020 13:04, 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 »

задам вопрос по другому - у какого плалина сейчас наиболее мощный Plugin.Call ? чтобы на примерах посмотреть как правильнее делать. пречислять цифры все новые так себе. Уже предложили текстовые константы. Ну ок. Но примеры были бы желательны. Я, конечно, еще сам поищу. но если будут тут - то ок
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 »

Господа, а может кто-то привести минимально полный пример добавления своего hrd?
Рекомендации из шапки пробовал, но лыжи не едут: плагин говорит CatalogParserException или ParserFactoryException, Error reading file и потом падает при входе в настройки.
Post Reply

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