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:

buniak_a_h wrote: Thu 15 Nov, 2018 18:42 Возникли вопросы.
1. Имеются две схемы (FocPro и Clipper), файлы которых имеют одинаковое расширение (prg). Я завёл свой аналог proto.hrc, в котором указал свой файл схемы для clipper. Теперь colorer стал хватать схему для Foxpro. Есть ли возможность указать приоритет (какую схему в случае конфликта надо выбирать)? Указание в моём аналоге proto.hrc схемы для foxpro приводит к выбору схемы Diff... .В списке схем вновь добавленная (заменённая) схема оказалась последней, что как-то уж совсем неправильно.
Указать приоритет можно, см. в шапке "Если раскраска неправильна:"
Если не поможет, значит вы где-то допустили ошибку.
buniak_a_h wrote: Thu 15 Nov, 2018 18:42 2. Есть ли возможность вообще удалить "мешающую" схему?
Может стоит шапку целиком уже прочитать?
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 »

buniak_a_h wrote: Thu 15 Nov, 2018 19:12 НИ НА ЧТО НЕ ВЛИЯЕТ, хотя запоминается (при повторном входе там виден "0").
А вот у меня поначалу упорно не хотел запоминаться, но как-то я его заставил (закрыв диалог не по Enter, а явно нажав кнопку { Ok } мышью).
И он работает.

А ваша ошибка вероятно в том, что вы не выбрали схему (вверху диалога), для которой производите настройку.
Нужна эта: other: default type.

(диалог реально нуждается в редизайне )

Кстати, настройки могут быть и в proto.hrc: <prototype name="default"...
Подробнее:
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 »

Image

Как такую раскраску для csv через Colorer настроить?

P.S.
rainbow_parentheses тоже интересно

Update: обсуждение moon-скрипта для раскраски выделено в отдельную тему: viewtopic.php?f=15&t=11383
Last edited by John Doe on Fri 16 Nov, 2018 12:35, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

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

Post by buniak_a_h »

John Doe wrote: Fri 16 Nov, 2018 11:38 диалог реально нуждается в редизайне
К тому же:
Согласитесь, странно настраивать количество раскрашиваемых строк или длину строки в зависимости от типа файла. Вроде, эти вещи зависят от мощности компа. Соответственно, должна быть настройка All shemas (не defailt, которую можно случайно переопределить). И эта All должна при первом вызове открываться.
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 »

buniak_a_h wrote: Sat 17 Nov, 2018 09:32 странно настраивать количество раскрашиваемых строк или длину строки в зависимости от типа файла.
Вот так сходу не соглашусь, у каких-то типов раскраска может быть "тяжелее".
buniak_a_h wrote: Sat 17 Nov, 2018 09:32 Соответственно, должна быть настройка All shemas (не defailt
Это действительнее логичнее, хотя не принципиально, учитывая наличие документации (если б её ещё найти легко было...)
buniak_a_h wrote: Sat 17 Nov, 2018 09:32 И эта All должна при первом вызове открываться.
Да, об этом я уже писал.

Но, главное, что в итоге вам удалось-таки всё настроить)
lost
Posts: 149
Joined: Mon 31 Oct, 2005 09:42
Has thanked: 12 times
Been thanked: 6 times

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

Post by lost »

Обнаружил баг в плагине. Если для схемы задан хоткей, то в настройке этой схемы, при выборе параметра hotkey, FAR 3.0 build 5301 x64 падает

Code: Select all

 ошибка выз
 новые ком
  - Plugin  ╔═════════════ Настройка параметров схем ═════════════╗  e - плагин вк
  - Plugin  ║                                                     ║  ючение плагин
  - Plugin  ║Схема  other: plain text                            ↓║  ключение плаг
            ║╔═══════ Параметры ════════╗                         ║
.8.1 . 12.  ║║  firstlinebytes          ║ Значение параметра      ║

   ╔═══════════════════════ Исключительная ситуация ════════════════════════╗
   ║ Исключение:  0xC0000005 - EXCEPTION_ACCESS_VIOLATION                   ║
   ║ Подробности: Memory at 0000000000000000 could not be read              ║
   ║ Адрес:       0x7FEEFF8B547 - colorer.dll!GetMinFarVersionW             ║
   ║ Источник:                                                              ║
   ║ Функция:     OpenW                                                     ║
   ║ Модуль:      C:\Program Files\Far3\Plugins\FarColorer\bin\colorer.dll  ║
   ╟────────────────────────────────────────────────────────────────────────╢
   ║      { Выгрузить плагин } [ Стек ] [ Минидамп ] [ Игнорировать ]       ║
   ╚════════════════════════════════════════════════════════════════════════╝

 исправлен  ║ bytes for 'firstline'                               ║
            ║                                                     ║
.4.0 . 06.  ║                                  { ОК }  [ Отмена ] ║
 поддержка  ╚═════════════════════════════════════════════════════╝

.3.0 . 28.0   ╚═══════════════════════════════════════════════════╝
 исправлен вызов меню выбора синтаксиса из макроса
Last edited by lost on Thu 22 Nov, 2018 09:36, edited 1 time 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 »

lost wrote: Thu 22 Nov, 2018 09:35 Если для схемы задан хоткей, то в настройке этой схемы, при выборе параметра hotkey[...]
Не знал о такой возможности.
Расскажите (или ткните в документацию).
lost
Posts: 149
Joined: Mon 31 Oct, 2005 09:42
Has thanked: 12 times
Been thanked: 6 times

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

Post by lost »

John Doe wrote: Thu 22 Nov, 2018 09:47 Не знал о такой возможности.
Расскажите (или ткните в документацию).
Открываем список типов колорера, Жмём F1:

Code: Select all

@filetypechoose
$# Список типов
    Список содержит все поддерживаемые типы файлов. Выбрав любой, вы принудительно 
установите тип раскраски текущего файла.
   
    #Автоматическое определение# - выбор типа файла производит плагин по встроенным 
правилам.
    #Избранные# - список избранных типов. Добавление в "Избранные" производится по нажатию
клавиши Ins, удаление - Delete.
    #Горячие клавиши# - для назначения горячей клавиши типу файла нужно нажать F4, и 
в открывшемся окне задать клавишу.

    Горячие клавиши и нахождение в группе "Избранные" так же можно настраивать через 
~Настройки схем.~@confighrc@ Это параметры hotkey и favorite для любой из схем.
у меня это выглядит так:

Code: Select all

C:\...\Plugins\FarColorer\                                                   С 1        9
                            ╔═══════════ Выберите синтаксис ═══════════╗
        Информацию, об изм  ║  A Автоматическое определение            ▲  ле hrc\CHANGELOG
                            ╟─────────────── Избранные ────────────────█
Версия 1.2.9.1 . 19.02.201  ║  3 Java                                  █
        1. уточнение plugi  ║  1 SQL, PL/SQL                           █
            - Plugin.Call(  ║  2 plain text                            █  . Возвращаемое значение: t
            - Plugin.Call(  ╟────────────────── main ──────────────────█   new_status). Перевод плаг
            new_status - t  ║    C                                     █  .
            Возвращаемое з  ║    C++                                   █  ния команды.
                            ║    D                                     ░
Версия 1.2.9.0 . 19.02.201  ║    ASM                                   ░
        1. ошибка вызова p  ║    Perl                                  ░
        2. новые команды д  ║    IDL                                   ░
            - Plugin.Call(  ║    Pascal                                ░    true - плагин включен, f
            - Plugin.Call(  ║    C#                                    ░    включение плагина
            - Plugin.Call(  ║    F#                                    ░  )  выключение плагина
                            ║    JS.NET                                ░
Версия 1.2.8.1 . 12.06.201  ║    VB.NET                                ░
        1. очередная попыт  ║    Forth                                 ░
                            ║    Fortran                               ░
Версия 1.2.8.0 . 04.06.201  ║    Visual Basic                          ░
        1. еще одна попытк  ║    Python                                ░
                            ║    Lua                                   ░
Версия 1.2.7.0 . 20.03.201  ║    Ruby                                  ░
        1. исправлен GUID   ║    Nix                                   ░
                            ║    Haxe                                  ░
Версия 1.2.6.0 . 13.02.201  ║    Scala                                 ░
        1. поддержка winxp  ║    Tcl/Tk/Expect                         ░
                            ║    Go                                    ░
Версия 1.2.5.0 . 13.02.201  ║    Kotlin                                ░
        1. исправлена рабо  ║    Rust                                  ░
                            ╟────────────────── inet ──────────────────░
Версия 1.2.4.0 . 06.02.201  ║    html                                  ░
        1. поддержка windo  ║    css                                   ░
                            ║    css for html                          ░
Версия 1.2.3.0 . 28.01.201  ║    css for svg                           ░
        1. исправлен вызов  ║    SASS                                  ░
                            ║    Less css                              ░
Версия 1.2.2.5 . 24.01.201  ║    Smarty PHP Templates                  ░
        1. борьба с утечка  ║    SilverStripe                          ░
                            ║    Twig PHP Templates                    ░
Версия 1.2.2.3/1.2.2.4 . 0  ║    HAML                                  ░
        1. небольшая оптим  ║    SHPAML                                ░
        2. обновлена color  ║    ERB                                   ░
        3. рефакторинг пла  ║    jsp                                   ░
                            ║    php                                   ░
Версия 1.2.2.2 . 06.01.201  ║    xhtml transitional                    ░
        1. исправлено: при  ║    xhtml strict                          ▼  ре Far не происходила раск
1Помощь 2Сохран 3       4В  ╚════════════ Всего типов: 267 ════════════╝  Выход  11Плагин 12Экраны
BioSpb
Posts: 13
Joined: Thu 13 Jan, 2011 22:18
Has thanked: 2 times

colorer и far3. длинные файлы не раскрашиваются до конца

Post by BioSpb »

сколько помню far3 и до последней ночной сборки - colorer не раскрашивает длинные файлы, если они открыты дальше определенной строки. (6001 в сборке 5325 на changelog и changelog_eng) . пока не откроешь выше этой строки, раскраска дальше не идет. раньше еще и раскрашивалось в 10 раз медленней чем в FAR2, но, олилуйя!, наконец, это починили - теперь нет одно-двух-трех секундной задержки при открытии файлов (чтобы успело раскраситься), и скорость покраски стала даже быстрее, чем у FAR2. аж не верится. :Yahoo!:
исправьте уже этот баг! чтоб файл красился всегда целиком.
и можно будет перейти на FAR3.
заранее респект!
BioSpb
Posts: 13
Joined: Thu 13 Jan, 2011 22:18
Has thanked: 2 times

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

Post by BioSpb »

нашел совет на прошлой странице по правке hrcsettings.xml - вполне сойдет содейт.
скорость обработки за последние пару лет выросла раз в 20 (по сравнению с FAR2) и теперь примерно в 5 раз быстрее, а было наоборот.

но раньше колорер умел красить в фоне, а сейчас на больших файлах возникает задержка и красится всё.
старое поведение можно как то вернуть? чтоб открывалось быстрее и потом докрашивалось.
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 »

BioSpb wrote: Mon 26 Nov, 2018 09:44 старое поведение можно как то вернуть? чтоб открывалось быстрее и потом докрашивалось.
Конечно. Но кто-то должен этим заняться.
Пока некому.
Zzzz
Posts: 108
Joined: Sat 13 Oct, 2007 10:12
Been thanked: 1 time

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

Post by Zzzz »

Запускаю far.exe -m -ro -s %TEMP%\farprofile\%RANDOM% -pPlugins\FarColorer, открываю в редакторе watch.htm и зажимаю стрелку вниз: на 138 строчке Far виснет; то же самое при попытке найти '</html>'.
Far 3.0 build 5300 x86, Colorer 1.2.9.1
Attachments
watch.htm.line138.zip
(49.83 KiB) Downloaded 47 times
W7U SP1 x64
lost
Posts: 149
Joined: Mon 31 Oct, 2005 09:42
Has thanked: 12 times
Been thanked: 6 times

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

Post by lost »

А последний разработчик плагина им уже совсем не занимается?
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 »

Не виснет. Но надолно замирает.
User avatar
sicvolo
Posts: 126
Joined: Tue 05 Feb, 2008 01:47
Been thanked: 1 time

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

Post by sicvolo »

Наткнулся на вот такой баг. Случается только если строка начинается с "s-"
Attachments
Screenshot_20181211_093006.png
Screenshot_20181211_093006.png (5.13 KiB) Viewed 4046 times
ФАРева
fps
Posts: 267
Joined: Wed 20 Apr, 2005 06:39
Has thanked: 27 times
Been thanked: 14 times

Colorer падает в WinPE

Post by fps »

В Windows PE FAR падает при открытии файла на редактирование с включенным плагином FarColorer или включении плагина в настройках
1.png

Code: Select all

0x01326632 FAR.exe!Manager::ProcessMouse (c:\src\far\manager.cpp:825)
0x013259D5 FAR.exe!Manager::ProcessMainLoop (c:\src\far\manager.cpp:620)
0x01324273 FAR.exe!Manager::ExecuteModal (c:\src\far\manager.cpp:352)
0x0123A73B FAR.exe!Dialog::Process (c:\src\far\dialog.cpp:4242)
0x01359982 FAR.exe!pluginapi::apiDialogRun (c:\src\far\plugapi.cpp:1090)
0x720D6E78 colorer.dll!GetMinFarVersionW
0x720D376F colorer.dll!ConfigureW
0x013526EE FAR.exe!seh_invoke<<lambda_ba68eb2efa1bd7e7c660e7f5b1967e04>,<lambda_3f29cb20f1556229b90f018bc304147f>,<lambda_6066563de97eb21ac34f185a45a0ff9c> > (c:\src\far\farexcpt.hpp:74)
0x0134FA0E FAR.exe!Plugin::Configure (c:\src\far\plclass.cpp:1148)
0x0137BAC3 FAR.exe!PluginManager::ConfigureCurrent (c:\src\far\plugins.cpp:1181)
0x0137C64F FAR.exe!PluginManager::Configure (c:\src\far\plugins.cpp:1355)
0x011EA792 FAR.exe!Options::ShellOptions (c:\src\far\config.cpp:3134)
0x012C1F13 FAR.exe!FilePanels::ProcessKey (c:\src\far\filepanels.cpp:818)
0x01326232 FAR.exe!Manager::ProcessKey (c:\src\far\manager.cpp:793)
0x01325A0F FAR.exe!Manager::ProcessMainLoop (c:\src\far\manager.cpp:624)
0x0132581A FAR.exe!Manager::EnterMainLoop (c:\src\far\manager.cpp:594)
0x0131F7D7 FAR.exe!MainProcess (c:\src\far\main.cpp:296)
0x01322030 FAR.exe!mainImpl (c:\src\far\main.cpp:764)
0x013223FD FAR.exe!wmain_seh (c:\src\far\main.cpp:799)
0x013225BE FAR.exe!<lambda_f557715d107e17c1f0ffe1ecac8b9d34>::operator() (c:\src\far\main.cpp:841)
0x01322642 FAR.exe!seh_invoke<<lambda_f557715d107e17c1f0ffe1ecac8b9d34>,<lambda_4540896a4f50601624f7280fdc0ed885>,<lambda_8f7affe2634280886fb7d95664ebd567> > (c:\src\far\farexcpt.hpp:74)
0x0132255B FAR.exe!main (c:\src\far\main.cpp:835)
0x013E6930 FAR.exe!__scrt_common_main_seh (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283)
0x75B29564 KERNEL32.DLL!BaseThreadInitThunk
0x779A293C ntdll.dll!EtwProcessPrivateLoggerRequest
0x779A2910 ntdll.dll!EtwProcessPrivateLoggerRequest

Terminate process (Y/N)?
Пробовал FAR x86 5300 (последняя стабильная) и 5348 (последняя ночная)

WinPE 10 x86 отсюда
Last edited by fps on Wed 02 Jan, 2019 16:37, edited 1 time in total.
Post Reply

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