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
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Latest post of the previous page:

ctapmex wrote: Wed 22 Apr, 2020 19:06 что возвращать, в случае если параметра не существует, или никакого значения для него не задано
nil?
Фар есть инструмент, а не нянька. © 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 »

мда, видимо туплю уже. там действительно есть вариант FMVT_NIL
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 »

ctapmex, а зачем Вы в случаях "Get" и "List" собираетесь возвращать две таблицы (имена, значения)? Почему нельзя возвращать одну таблицу (не массив значений, а "именную" типа {<название типа>=<значение>, <название типа>=<значение>, …} ?
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

это наиболее простой вариант. я пока не видел примеров (вообще маловато примеров возврата ответов для макроапи ) как сделать таблицу.
предполагаю по https://api.farmanager.com/ru/structure ... value.html что это будет
FarMacroValue с типом FMVT_ARRAY размером с число параметров, каждый элемент которого FarMacroValue с типом FMVT_ARRAY размером в 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 »

ctapmex wrote: Thu 23 Apr, 2020 09:02 я пока не видел примеров (вообще маловато примеров возврата ответов для макроапи ) как сделать таблицу.
Судя по документации такой возможности (пока?) не предусмотрено.
https://t.me/FarManager — Telegram чат
EXEMOK
Posts: 24
Joined: Fri 23 Mar, 2007 17:09

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

Post by EXEMOK »

Сорри, что не смог прочитать всё - а подсветку файлов ts и tsx (typescript, react) может кто сделал уже? Тяжело мне в других оболочках кодить сейчас :)
Last edited by EXEMOK on Thu 23 Apr, 2020 10:37, edited 1 time in total.
ex - Far alfatester group
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

в 1.3.8 появилась работа с параметрами типов. пробуйте. актуальное апи описано в help.

чего еще не хватает в части api?
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,
я еще не углубился, но вот как раз спрошу пока железо горячо :)
Я все собираюсь делать разнообразные анализы кода,
типа разбор на функции и блоки, поиск скобок, injections итд
Колорер умеет это делать (честь и хвала, я даже представить себе не могу как я бы это делал)
А ва АПИ это отображено? чтобы пользоваться не загружая редактор
Прошу разьяснений, если не отображено, то думаю что стоит того чтобы
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

citRiks wrote: Thu 23 Apr, 2020 19:28 Я все собираюсь делать разнообразные анализы кода
Колорер — это не вполне подходящий для этой задачи инструмент. Посмотрите лучше в сторону Language Server Protocol.
Фар есть инструмент, а не нянька. © 2009 DrKnS
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 »

HaRT wrote: Thu 23 Apr, 2020 20:17 Колорер — это не вполне подходящий для этой задачи инструмент
А я как раз хотел на базе Colorer-а сделать переход на процедуру/класс/метод, описанные в другом файле (для 2-х языков). Именно с этой целью просил автора экспортировать список функций. :-)
Буду рыть Language Server Protocol…
Я где-то видел ссылку на ctag, но прикрутить не смог. Видимо, тямы не хватает…
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

buniak_a_h wrote: Thu 23 Apr, 2020 21:16 где-то видел ссылку на ctag, но прикрутить не смог
Зачем? Есть ведь уже Ctags Source Navigator. Или вы про него и говорите? Если да, то спросите в той теме.
Фар есть инструмент, а не нянька. © 2009 DrKnS
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 »

HaRT, да, про него. Решил, что когда будет возможность получить список функций, то легче будет прикрутить Colorer, чем изучать ctag. Тем более, что связи могут оказаться нетривиальными.
Yegor
Posts: 1326
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 32 times
Been thanked: 61 times

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

Post by Yegor »

1) Делаю свою true color расскраску (hrd) для Far 3 (с [x] Use Virtual Terminal for rendering), есть вопрос как сделать bold и underlined?
2) Фича "Region info" частично помогает при производстве расскраски, но было бы идеально если бы она показывала всю иерархию регионов. Например хочу поменять цвет элемента в xml (<root></root>), становлюсь на root и получаю "Region: xml:element.start.name", а по факту меняю цвет для "def:Tag".
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

Yegor,
1. свойство style задает эти признаки. RD_BOLD = 1;RD_ITALIC = 2;RD_UNDERLINE = 4;RD_STRIKEOUT = 8; посмотри примеры в существующих файлах.
2. расширенный вариант это вот для исходного https://github.com/colorer/Colorer-sche ... ml/xxx.xml получаем такой вывод https://github.com/colorer/Colorer-sche ... x.xml.html . элементов очень много, выводить их имеет смысл в самом плагине?
чтобы получить такой вывод можно воспользоваться colorer.exe
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

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

Post by citRiks »

HaRT wrote: Thu 23 Apr, 2020 20:17 Колорер — это не вполне подходящий для этой задачи инструмент. Посмотрите лучше в сторону Language Server Protocol.
А почему неподходящий?
Он штатный без внешних зависимостей
Уже умеет для анализа кода или все или почти все.
АПИ вон какой замечательный делается
не надо изучать CTags/LangServer.
Post Reply

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