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

Здесь можно обсудить ваш любимый плагин.
User avatar
ctapmex
Posts: 1070
Joined: Fri 11 Apr, 2008 07:53
Been thanked: 20 times
Contact:

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 (старые версии доступны тут)



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

User avatar
HaRT
Moderator
Posts: 9447
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 106 times
Been thanked: 223 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: 1070
Joined: Fri 11 Apr, 2008 07:53
Been thanked: 20 times
Contact:

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

Post by ctapmex »

мда, видимо туплю уже. там действительно есть вариант FMVT_NIL

buniak_a_h
Posts: 1883
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 120 times
Been thanked: 170 times
Contact:

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

Post by buniak_a_h »

ctapmex, а зачем Вы в случаях "Get" и "List" собираетесь возвращать две таблицы (имена, значения)? Почему нельзя возвращать одну таблицу (не массив значений, а "именную" типа {<название типа>=<значение>, <название типа>=<значение>, …} ?

User avatar
ctapmex
Posts: 1070
Joined: Fri 11 Apr, 2008 07:53
Been thanked: 20 times
Contact:

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

Post by ctapmex »

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

от такой цепочки кружится голова -) и не понятно заработает ли . надо проверять.
по такому же принципу сделано апи и для списка функций/ошибок. там так же два массива.

User avatar
John Doe
Бюрократ
Posts: 12829
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 290 times

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

Post by John Doe »

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

EXEMOK
Posts: 23
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: 1070
Joined: Fri 11 Apr, 2008 07:53
Been thanked: 20 times
Contact:

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

Post by ctapmex »

EXEMOK, нет, не делали

User avatar
ctapmex
Posts: 1070
Joined: Fri 11 Apr, 2008 07:53
Been thanked: 20 times
Contact:

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

Post by ctapmex »

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

чего еще не хватает в части api?

citRiks
Posts: 674
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 198 times
Been thanked: 44 times

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

Post by citRiks »

ctapmex,
я еще не углубился, но вот как раз спрошу пока железо горячо :)
Я все собираюсь делать разнообразные анализы кода,
типа разбор на функции и блоки, поиск скобок, injections итд
Колорер умеет это делать (честь и хвала, я даже представить себе не могу как я бы это делал)
А ва АПИ это отображено? чтобы пользоваться не загружая редактор
Прошу разьяснений, если не отображено, то думаю что стоит того чтобы
А кто не поверит в наше миролюбие,
Тот кровью умоется.
И будет такая борьба за мир,
Что камня на камне не останется.

User avatar
HaRT
Moderator
Posts: 9447
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 106 times
Been thanked: 223 times

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

Post by HaRT »

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

buniak_a_h
Posts: 1883
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 120 times
Been thanked: 170 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: 9447
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 106 times
Been thanked: 223 times

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

Post by HaRT »

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

buniak_a_h
Posts: 1883
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 120 times
Been thanked: 170 times
Contact:

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

Post by buniak_a_h »

HaRT, да, про него. Решил, что когда будет возможность получить список функций, то легче будет прикрутить Colorer, чем изучать ctag. Тем более, что связи могут оказаться нетривиальными.

Yegor
Posts: 1076
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 14 times
Been thanked: 25 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: 1070
Joined: Fri 11 Apr, 2008 07:53
Been thanked: 20 times
Contact:

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

citRiks
Posts: 674
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 198 times
Been thanked: 44 times

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

Post by citRiks »

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

Post Reply

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