Page 179 of 192

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

Posted: Wed 04 May, 2005 14:45
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 (старые версии доступны тут)



Что не разжёвано в документации плагина:
  • Как подключить собственные цветовые стили *.hrd
  • Как подключить собственную схему:
    • используя пользовательский файл прототипов:
    • используя папку auto:
    • через пользовательский catalog.xml:
  • Как переопределить существующую схему
  • Как правильно "удалить" какую-либо стандартную схему
  • Как использовать относительные пути и переменные окружения
  • Если раскраска неправильна:
  • Неочевидные настройки: maxlinelength (в теме)
  • Тонкая настройка подсветки для отдельной схемы: в теме.

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

Posted: Sun 22 Oct, 2017 14:25
by Alexander84

Latest post of the previous page:

Затрудняюсь передать словами, как нужна настройка, отключающая FarColorer при попытке раскрасить файл больше, чем X килобайт. Скажем, нужно вырезать кусочек из электронной книги (fb2), а в ней есть картинки, из-за чего файл весит 10 и больше мегабайт — Фар показывает индикатор Reading 100% и зависает или появляется чёрное окно с надписью [0+] в углу и тоже висит. Приходится принудительно выгружать процесс из памяти, руками отключать плагин, вырезать кусочек из книги, потом опять включать плагин.

Кстати, и Фар почему-то не отзывается на ESC для прерывания открытия/раскраски большего файла, это нехорошо.

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

Posted: Sun 22 Oct, 2017 14:44
by NightRoman
cmd.exe wrote:
Wed 27 Sep, 2017 22:36
Предлагаю портировать Движок раскраски фалов у Vim, он очень шустрый. Очень похож на задумку в AirBrush, но более сильно развитую.
Colorer уже не поддерживается? Может, это временно?

Почему Vim? У Vim какой-то свой формат?

Всякие софты, что в тренде сейчас (хотя бы GitHub, VSCode) используют движки, работающие с textmate форматом (если не ошибаюсь). Я к тому, что этих готовых файлов в инете полно, и они активно поддерживаются и развиваются.

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

Posted: Sun 22 Oct, 2017 15:21
by Sim
Я на днях на телефоне с Android установил редактор QuickEdit так он открыл файл с длиннющими строками размером больше 1МБ и раскрасил полностью без зависаний. Да открытие заняло у него несколько секунд, но он справился.
Я к тому что от колорера мы ждем нормального функционирования, не хуже чем во многих других приложениях, но по факту он не справляется. Надо либо чинить его либо искать достойную замену.

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

Posted: Sun 22 Oct, 2017 19:08
by Aidar
NightRoman wrote:
Sun 22 Oct, 2017 14:44
У Vim какой-то свой формат?
Судя по статье Подсветка синтаксиса в VIM: полное погружение, в Vim используется упрощённый вариант того, что есть в Colorer в более полном виде.

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

Posted: Mon 23 Oct, 2017 08:50
by siberia-man
Почему-то развитие приостановлено. Последнее слияние было в конце июня. С того времени накопилось достаточно много исправлений и запросов на слияние. Хотелось бы, чтобы настоящие авторы нашли время для code review существующих предложенных исправлений и поместили их в основную ветку.

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

Posted: Sat 28 Oct, 2017 16:34
by ctapmex
привет.
да, с развитием и поддержкой не получается. к сожалению, времени на это нет совсем. поэтому проект заглох. появится ли в будущем - пока сомневаюсь. поэтому если есть желающие, то дам права на репозиторий, правьте, развивайте.
еще раз обозначу, что проблема тормозов текущего движка - последовательный парсинг файла по внешним конфигам. не просто подсветка ключевых слов, а подсветка согласно структуре файла, места в файле.
ускорить работу движка в far можно. это вынос парсинга/раскраски во внешний поток от самого far. но тут не хватает времени и опыта под это. я в последние годы больше читатель чужого кода, чем писатель. что накладывает последствия. мне проще найти ошибку в чужом коде, чем написать свой кусок .

если кто собирается на ближайший highload , можем там встретиться, обсудить.

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

Posted: Mon 30 Oct, 2017 23:10
by cmd.exe
NightRoman, первое что пришло в голову, просто подсветка работает очень шустро и стабильно.

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

Posted: Tue 31 Oct, 2017 13:01
by Alexander84
После откровения ctapmex стало грустно. Ведь альтернатив для подсветки синтаксиса в Фаре нет, верно? Получается, в ожидании героя, который продолжит развитие FarColorer, нам остаётся мириться с тем, что есть, либо вешать на F4 внешний редактор, так?

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

Posted: Tue 31 Oct, 2017 13:12
by HaRT
Alexander84 wrote:
Tue 31 Oct, 2017 13:01
альтернатив для подсветки синтаксиса в Фаре нет, верно?
Air Brush

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

Posted: Thu 02 Nov, 2017 04:33
by Sim
HaRT, К сожалению с Air Brush тоже все грустно

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

Posted: Mon 01 Jan, 2018 12:44
by techie
Если портировать на Rust, то там с мультипоточностью вроде как всё в порядке. Плюс есть некоторая доля фана. Но не очень понятно, как писать плагины на Rust под Far.

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

Posted: Thu 11 Jan, 2018 12:48
by sToLp
John Doe wrote:
Thu 11 Jan, 2018 08:27
sToLp wrote:
Wed 10 Jan, 2018 18:49
и при автоматическом обновлении плагина настройки слетают
Значит неправильно настраиваете.
Возможно.
А не подскажете ли как правильно настроить раскраску Колорером файлов с расширениями, например, "lu_*"? Чтобы не слетала.
Полагаю, что не мне одному это было бы полезно узнать.

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

Posted: Thu 11 Jan, 2018 13:16
by HaRT
sToLp wrote:
Thu 11 Jan, 2018 12:48
как правильно настроить раскраску Колорером файлов с расширениями, например, "lu_*"?
Многократно обсуждалось. Ищите в данной теме proto_user.hrc.

Вот мой

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

Posted: Thu 11 Jan, 2018 13:19
by John Doe
sToLp wrote:
Thu 11 Jan, 2018 12:48
Полагаю, что не мне одному это было бы полезно узнать.
Поэтому я в шапку и добавил (сто лет как).
Попробуйте, если не получится, то будем разбираться.

proto_user это только один из вариантов, с папкой auto наверно проще

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

Posted: Thu 11 Jan, 2018 14:44
by kyodzou
подскажите пожалуста!
сделал схему разметки для своего типа файлов. все заработало, но есть один нюанс:
строки коментария на моем формате начинаются с символа $ в первом символе

<import type="def"/>
<region name="ftComment" parent="Comment"/>
...
<!-- Linear Comments -->
<regexp start="/^([$].*$)/i" region0="ftComment"/>

Colorer коректно подсвечивает закоментированную строку, но если в этой строке есть числа - они подсвечиватся как числа а не как коментарий.
Я такпонял, это свойства родительского стиля parent="Comment".
Что мне надо изменить чтобы вся строка подсвечивалась как комментарий вне зависимости от содержимого?

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

Posted: Thu 11 Jan, 2018 16:50
by HaRT
kyodzou, выложите, пожалуйста, минимальную полную схему (т.е. только с описанием комментариев), которая воспроизводит проблему.

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

Posted: Fri 12 Jan, 2018 10:15
by kyodzou
методом тыка подобрал решение:
<regexp start="/^([$].*$)/i" region0="ftComment"/>
заменил на
<regexp match="/^([$].*$)/i" region0="ftComment"/>
теперь все отлично.
спасибо за готовность помочь!