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
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

Latest post of the previous page:

в рассылке было сказано, что открытие файла от 100 мб потребляет много ресурсов.
настройки под размер файла нет. решить можно несколькими способами
  1. lua макрос, проверяющий размер файла и вкл/выкл плагина. Либо меняющий тип файла под default, что должно убрать потребление ресурсов. Так же это можно делать руками без анализа размера файла, просто мешает когда
  2. если в файле длинные строки, то можно настроит ьмакисмлаьную длину строки для расскраски
montonero
Posts: 463
Joined: Wed 25 Jun, 2008 16:55
Has thanked: 3 times
Been thanked: 9 times

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

Post by montonero »

В последней версии (1.4.9) colorer начал ругаться на юзерский файл цветовых стилей ошибкой "[InputSourceException] C:\Users\username\����name����\mycolorer.xml isn't regular file."
Выяснилось, что мешают угловые кавычки в пути: C:\Users\username\«name»\mycolorer.xml
Ранее это работало без проблем.
"Far... Far never changes..."
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

мда. попытка уйти от кучи кода на стандартный std::filesystem не увенчался успехом.
Last edited by HaRT on Fri 01 Oct, 2021 15:42, edited 1 time in total.
Reason: [spoiler]
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 »

Фар есть инструмент, а не нянька. © 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 »

разобрался с примером - роль играет кодировка cpp файла. с utf8 такое не работает, а с utf16 уже ок.
значит в самой либе косяк идет из-за преобразований кодировок.
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 »

ctapmex wrote: Fri 01 Oct, 2021 15:43 значит в самой либе косяк идет из-за преобразований кодировок
О какой либе речь? Если о Microsoft C/C++ Runtime, то очень вряд ли.
Фар есть инструмент, а не нянька. © 2009 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: Fri 01 Oct, 2021 15:43 с utf8 такое не работает, а с utf16 уже ок
Чтобы в MSVC работало, надо или bom, или #pragma code_page(65001), или /utf-8 компилятору передавать. Примеры есть в Far.
montonero
Posts: 463
Joined: Wed 25 Jun, 2008 16:55
Has thanked: 3 times
Been thanked: 9 times

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

Post by montonero »

Кстати, если указать путь до несуществующего файла, то ошибка будет такая же. Не очень информативное сообщение.
Можно подумать, что это файл какой-то не такой, а на деле плагин просто не может его найти.
"Far... Far never changes..."
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

идет проверка пути на возможность чтения. и если это не файл (папка, симлинк, сокент(линукс) ) или отсутсвует - выдается ошибка. Файла нет - а что аткое его нет? корявый симлинк - это его нет ,или есть (объект симлинка). поэтому лучше пусть будет так.
основную ошибку поправил. в ночной сборке придет.
montonero
Posts: 463
Joined: Wed 25 Jun, 2008 16:55
Has thanked: 3 times
Been thanked: 9 times

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

Post by montonero »

Мне кажется, что объединение всех этих возможных вариантов в одну такую ошибку не очень корректно, потому что скрывает реальную причину. Мне, как совсем не рядовому пользователю, не вполне понятно, что подразумевается под "regular file". Слишком большое поле для интерпретаций.
"Far... Far never changes..."
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.30 https://github.com/colorer/FarColorer/r ... ag/v1.3.30 c поддержкой allpacked схем, по аналогии с 1.4.11
lost
Posts: 149
Joined: Mon 31 Oct, 2005 09:42
Has thanked: 12 times
Been thanked: 6 times

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

Post by lost »

чёт не пойму, если раньше в hrc/auto были свои схемы, то они подхватывались на лету, а теперь какие пляски с бубном нужно сделать, чтобы новая версия с ними работала?
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

механизм папки auto работает. Только в текущем catalog.xml надо указывать аналог этой папки вне архива common.zip. Внутри common.zip перебор файлов в папке не работает. Альтернатива - указать конкретный файл в архиве где прописаны свои схемы.


целевая картина - папка base, поставляемая с плагином , не изменяемая. Оно часто ставится в program files со своими ограничениями. Внутри плагина есть механизмы расширения схем
  1. указание своего catalog.xml
  2. указание файла со своими схемами
  3. указание файла со своими стилями.

механизмы 2 и 3 должны дополнять базовые схемы. Т.е. новые типы, изменение настроек базовых и т.п. Пока это еще не трогал, но как и писал ранее в ближайшем бэклоге.

так ли нужно править catalog.xml в таком случае, если есть альтернативы ? если для подготовки своего набора, то да , еще имеет смысл.
Garrett
Posts: 240
Joined: Mon 01 Aug, 2005 10:23
Been thanked: 1 time

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

Post by Garrett »

В последней версии 1.4.11 испортилась обработка пользовательских myproto.hrc!
У меня не работает раскраска для расширения cpy.

<prototype name="cobol" group="rare" description="Cobol Fixed format">
<location link="jar:../common.jar!rare/cobol.hrc"/>
<filename>/\.(cbl|cpy)$/i</filename>
</prototype>

Версия 1.4.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 »

в новой версии как минимум нет файла common.jar , надо указывать common.zip
во вторых папки hrc/auto не стало. предлагается использовать параметр настройки плагина по указанию своего файла схем
Post Reply

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