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

Latest post of the previous page:

John Doe wrote: Thu 15 Nov, 2018 13:58
buniak_a_h wrote: Thu 15 Nov, 2018 13:37 при каждом обновлении мой файл затирается, приходится восстанавливать.
См. в шапке раздел "Как подключить собственную схему:"
Возникли вопросы.
1. Имеются две схемы (FocPro и Clipper), файлы которых имеют одинаковое расширение (prg). Я завёл свой аналог proto.hrc, в котором указал свой файл схемы для clipper. Теперь colorer стал хватать схему для Foxpro. Есть ли возможность указать приоритет (какую схему в случае конфликта надо выбирать)? Указание в моём аналоге proto.hrc схемы для foxpro приводит к выбору схемы Diff... .В списке схем вновь добавленная (заменённая) схема оказалась последней, что как-то уж совсем неправильно.
2. Есть ли возможность вообще удалить "мешающую" схему?
P/S Проблему решил повтором всех конфликтующих схем в моём аналоге proto.hrc ниже изменённого прототипа. Но как-то это перанально... Есть более прямой путь?
Last edited by buniak_a_h on Thu 15 Nov, 2018 18:48, 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: Thu 15 Nov, 2018 13:58 См. в шапке раздел "Как подключить собственную схему:"
Проблема, пограничная с указанной. Уже упомянутая мной тут:
попытался исправить параметр backparse (количество строк, после которых колорер прекращает анализ) через диалог настройки -> [ Scheme settings ]. Задал 0. НИ НА ЧТО НЕ ВЛИЯЕТ, хотя запоминается (при повторном входе там виден "0"). Изменение этого параметра вручную непосредственно в файле в hrcsettings.xml приводит к нужному эффекту. Но после обновления этот файл также затрётся поставляемым.
Три вопроса.
1. Почему не действует настройка, введённая через интерфейс? Может, через диалог нельзя задать именно ноль? ЧЯДНТ?
2. Может быть есть возможность указания своего файла-заменителя hrcsettings.xml?
3. Умолчательное значение 6000 - это как-то совсем для старых компов актуально было. Я долго работал на XP; увы, постепенно "вытеснили" (софт не поддерживает, сайты недоступны). Соответственно, народ переходит на современные ОС , соответственно, на современное железо. А для него 6000 строк - это как-то очень излишнее ограничение. Нельзя ли сразу в искаробочной настройке поставлять более широкие настройки? Ну хотя бы тыщ 20 строк... На моём, не самом шустром, компе исходник в 38 т. строк раскрашивается 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 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 »

Не виснет. Но надолно замирает.
Post Reply

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