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

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

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

Post by ctapmex » Wed 04 May, 2005 14:45

Far Colorer — плагин подсветки синтаксиса в редакторе, основанный на Colorer Library Игоря Русских.

- Актуальные версии основаны на Colorer Library версии take5.
- Изначальный автор плагина — Игорь Русских (lomecb, он же cail).
- После того как плагин портирован на Far 2, поддержкой занимается Алексей Добрунов (ctapmex, он же на форуме ctapmex).
- Официальная поддержка осуществляется через google-группу colorer_ru (на форуме бывает только ctapmex).

Домашняя страница библиотеки Colorer | Домашняя страница плагина для FAR | GitHub | Анонс

Плагин входит в дистрибутив Far Manager с v3.0.2948 (старые версии доступны тут)



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

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

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

Post by John Doe » Wed 08 Oct, 2014 12:03

Latest post of the previous page:

>Кнопка есть в настройках.
Не в настройках, а в меню плагинов
R Перезагрузить библиотеку схем

>Вопрос такой - как поменять цвет директив препроцессора на зеленый для C/C++?
Например достать схему из jar, изменить на свой вкус, и далее в шапке (Как переопределить существующую схему).
Там кратко, да.

>Имелось в виду мое предложение по справочнику по колореру?
Любые по плагину.

>А предложения/просьбы по расширению FAQ куда можно добавить?
Прямо сюда.
Но не просьбы, а готовые формулировки, после того как разберётесь.

Игорь Юдинцев
Posts: 725
Joined: Sun 03 Apr, 2005 22:00
Location: Казань
Been thanked: 1 time

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

Post by Игорь Юдинцев » Wed 08 Oct, 2014 13:13

Marty wrote: Мне не понятно ничего ;(
Вопрос такой - как поменять цвет директив препроцессора на зеленый для C/C++? Сможете на него ответить при помощи FAQ из шапки темы? Ну, или используя собственные дополнительные знания, мне в общем-то, не принципиально :)
Ну, это-то как раз несложно — меняем в цветовой схеме <assign name="def:Directive" fore="#A"/>.
ЗЫ Сроду не читал документации по колореру, просто заглянул в конфиги и проверил самое логичное предположение.

Marty
Posts: 170
Joined: Sun 29 Jan, 2006 12:29

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

Post by Marty » Wed 08 Oct, 2014 13:38

Игорь Юдинцев wrote: Ну, это-то как раз несложно — меняем в цветовой схеме <assign name="def:Directive" fore="#A"/>.
ЗЫ Сроду не читал документации по колореру, просто заглянул в конфиги и проверил самое логичное предположение.
Хитро :)
Правда, это было первое, что я попробовал. В принципе, работает, только и все остальные раскраски тоже изменились, и по большей части не в лучшую сторону :(

Marty
Posts: 170
Joined: Sun 29 Jan, 2006 12:29

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

Post by Marty » Wed 08 Oct, 2014 13:39

>>Кнопка есть в настройках.
>Не в настройках, а в меню плагинов
F11 - Команды плагинов? Там нет колорера. Как добраться до кнопки, какая последовательность нажатий клавиш?

>R Перезагрузить библиотеку схем
:?

>>Вопрос такой - как поменять цвет директив препроцессора на зеленый для C/C++?
>Например достать схему из jar, изменить на свой вкус, и далее в шапке (Как переопределить существующую схему).
>Там кратко, да.

Схему стандартную менять? Не пойму, зачем это делать и как это поможет. Вы уверены, что это правильный путь? Многослойная архитектура колорера же вроде для того и создавалась, чтоб на каждый чих схемы не править, не? Схема уже есть, регионы в ней описаны. Осталось только задать регионам цвета в HRD файле (из доки по колореру):
Format of HRD color schemes
HRD files used to assign some editor-specific properties to each HRC Region. Usually these include color and style information.
Вопрос в том, как правильно скрещивать HRC и HRD. И в факе ничего этого нет, ни кратко, ни как. Имеющийся стиль подключить или схему - в факе есть, сделать новый/расширить существующий HRD - нет и намека.

>>А предложения/просьбы по расширению FAQ куда можно добавить?
>>Прямо сюда.
>Но не просьбы, а готовые формулировки, после того как разберётесь.

Ок, попробую

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

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

Post by HaRT » Wed 08 Oct, 2014 13:42

Marty wrote:F11 - Команды плагинов? Там нет колорера. Как добраться до кнопки, какая последовательность нажатий клавиш?
Вызывать из редактора; в списке искать FarColorer.
Фар есть инструмент, а не нянька. © 2009 DrKnS

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

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

Post by John Doe » Wed 08 Oct, 2014 13:45

>Вы уверены, что это правильный путь?
Нет.
И ещё я не уверен что архитектура колорера действительно так хороша, как вам хотелось бы.

Marty
Posts: 170
Joined: Sun 29 Jan, 2006 12:29

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

Post by Marty » Wed 08 Oct, 2014 13:58

>>Вы уверены, что это правильный путь?
>Нет.
>И ещё я не уверен что архитектура колорера действительно так хороша, как вам хотелось бы.
Архитектура какая есть, пережить можно. А вот документация оставляет желать лучшего. Квик-старт страничек на пять не помешал бы.

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

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

Post by John Doe » Wed 08 Oct, 2014 14:02

>Квик-старт страничек на пять не помешал бы.
Возьмётесь?

Marty
Posts: 170
Joined: Sun 29 Jan, 2006 12:29

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

Post by Marty » Wed 08 Oct, 2014 14:23

HaRT wrote:
Marty wrote:F11 - Команды плагинов? Там нет колорера. Как добраться до кнопки, какая последовательность нажатий клавиш?
Вызывать из редактора; в списке искать FarColorer.
Вот спасибо - я в панелях сидел - сначала F9 - настройки цветов, потом F9 - настройки плагинов - колорер. Про редактор забыл, и что там другой набор плагинов работает, а так как в нем F9 не работает, то и не засиживался в нем.

Для FAQ.
Тонкая настройка подсветки для отдельного языка

1) Настройка подсветки происходит раздельно - сначала в HRC настраиваются регионы, затем в HRD уже существующим регионам задаются цвета. В подавляющем большинстве случаев нет необходимости менять схему раскраски, достаточно перезадать цвета отдельных регионов.
2) Замечание. При редактировании цветовой схемы (HRD) необходимо перезагружать настройки Colorer. Это производится в редакторе в меню плагинов (F11) - FarColorer (F) - Перезагрузить бибилотеку схем (R)
3) В меню Colorer'а есть несколько полезных функций - Список типов (1) - отображает все описанные типы раскраски и показывает текущую применяемую; Данные региона (A) - показывает сведения о регионе, на котором расположен курсор - его тип и имя (type:name), которые используются при назначении региону цвета.
4) Формат директивы сопоставления региону цвета в файле HRD:

Code: Select all

<assign name="type:name" fore="#X"/>
где type:name - то, что показывает [F11] - [F] - [A]
5) Есть около 50 общих типов регионов, и можно задавать расцветку, используя их типы и имена. Но при необходимости подправить расцветку в некоторой части только для отдельного типа, следует использовать их специфичные имена.

Пример раскраски директив препроцессора C/C++ зеленым цветом; имена файлов в include подсвечиваются красным, спецификаторы (параметры) директив #pragma, #error, #warning - cyan'ом:

Code: Select all

  <assign name="c:PreprocPref" fore="#A"/> <!-- lgreen - # -->
  <assign name="c:PreprocWord" fore="#A"/> <!-- lgreen -  include, pragma, error, warning, define, defined, if, ifdef etc-->
  <assign name="c:PreprocSpec" fore="#B"/><!-- cyan - pragma | error | warning text -->
  <assign name="c:Preproc" fore="#A"/> <!-- all other text -->
  <assign name="c:PreprocInclude" fore="#C"/> <!-- lred included filename -->
  <assign name="c:PreprocIncludeEdge" fore="#C"/> <!-- include quotes? - <> or "" -->
UPD В FAQ еще надо бы вставить, что включение TrueMod вне зависимости от наличия конему перекрывает напрочь стандартные цветовые настройки колорера.
Last edited by Marty on Wed 08 Oct, 2014 17:30, edited 1 time in total.

Marty
Posts: 170
Joined: Sun 29 Jan, 2006 12:29

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

Post by Marty » Wed 08 Oct, 2014 14:28

John Doe wrote:>Квик-старт страничек на пять не помешал бы.
Возьмётесь?
Нет. Я мало знаю о колорере и его настройке. Что узнал, то написал, может кому сбережет немного времени.

А автор, написав спеку на 160 листов, что говорит о его довольно большом интересе к проекту, мог бы и квик старт написать. Ну или специалисты, большие чем я, могли помочь.

User avatar
Wave
Posts: 1721
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 2 times
Been thanked: 10 times

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

Post by Wave » Wed 08 Oct, 2014 14:44

Да, квик-старт не помешал бы. Я колорером пользуюсь исключительно в дефолтной поставке и только немного шаманя с тем, что можно вызвать из меню. Потому что не понимаю, как, что и где я могу поменять под себя, чтобы оно не затёрлось с обновлением и было благом. А браться конкретно изучать колорер у меня настолько не стои́т, что это безнадёжно.
Пользуюсь ФАРом больше 15 лет © собирательный.

User avatar
tvel
Posts: 29
Joined: Wed 17 Mar, 2010 23:48
Location: Lenobl

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

Post by tvel » Wed 08 Oct, 2014 16:08

Marty wrote:Вопрос в том, как правильно скрещивать HRC и HRD. И в факе ничего этого нет, ни кратко, ни как. Имеющийся стиль подключить или схему - в факе есть, сделать новый/расширить существующий HRD - нет и намека.
Как скрещивать - сильно зависит от того как конкретно написана схема/-ы HRC. Как вы заметили, есть тип def, у него есть базовый набор регионов, сам тип def ради этого (+ глобальные определения) и создан - задействовать регионы def в схемах HRC, в свою очередь в HRD можно задать цветовые соответствия регионам def. Т.е. тип def - это своего рода внутреннее API колорера, удобное, важное, но не обязательное. Изначально (ну и со временем) сформировался своеобразный "хороший тон" при создании HRC, с использованием регионов def, чтоб любой HRD (а главное из поставки) работал с любым HRC.

Но, заложена и гибкость - регионы могут наследоваться, регионы могут быть частными для типов, любые регионы любых типов можно определить в HRD, что однако не гарантирует глобального адекватного результата для всех HRC. Результат правок HRD (как и создание своих HRD) может быть индивидуальным, опираться на ошибки и неточности в схемах HRC.
Marty wrote:Для FAQ.
Тонкая настройка подсветки для отдельного языка
1) Да, но необходимо заметить, что правки существующих HRD не рекомендуются хотя бы по причине невозможности их сохранить при обновлении плагина/ФАРа. Есть папки "contrib", которые как бы намекают на возможность расширения списка HRD путём добавления своих, но сами папки скорее часть традиции - это схемы присланные авторами и включённые в состав плагина позже чем первые базовые HRD.
2) Да. Если вы в редакторе - то по [F11], если в панелях - то из меню [F9][Параметры][Параметры плагинов].
3) Да, помощь в отладке и пр.
4) Не обязательно "то что показывает" (выше - регионы могут наследоваться). Есть ещё back=, а у RGB-стилей есть и ещё параметры.
5) Ну вот именно так.

Marty
Posts: 170
Joined: Sun 29 Jan, 2006 12:29

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

Post by Marty » Wed 08 Oct, 2014 17:22

tvel wrote:Как вы заметили, есть тип def, у него есть базовый набор регионов, сам тип def ради этого (+ глобальные определения) и создан - задействовать регионы def в схемах HRC, в свою очередь в HRD можно задать цветовые соответствия регионам def. Т.е. тип def - это своего рода внутреннее API колорера, удобное, важное, но не обязательное. Изначально (ну и со временем) сформировался своеобразный "хороший тон" при создании HRC, с использованием регионов def, чтоб любой HRD (а главное из поставки) работал с любым HRC.
Ну, я примерно понял, что def - это типа default, некий базовый регион, который потом может эточняться, и, как я понял, если цвет применять к базовому, то оно работает и для наследников. Напиши чуть подробнее и по порядку, может тоже в FAQ вставят :)
tvel wrote:Но, заложена и гибкость - регионы могут наследоваться, регионы могут быть частными для типов, любые регионы любых типов можно определить в HRD, что однако не гарантирует глобального адекватного результата для всех HRC. Результат правок HRD (как и создание своих HRD) может быть индивидуальным, опираться на ошибки и неточности в схемах HRC.
...но необходимо заметить, что правки существующих HRD не рекомендуются хотя бы по причине невозможности их сохранить при обновлении плагина/ФАРа.
Меня как раз локальность и интересовала для отдельных HRC. А HRD - я скопировал. Вообще, наверно можно как-то сделать просто доп HRD, и подключать к схеме через конфиг в качестве второго, уточняющего.

Marty
Posts: 170
Joined: Sun 29 Jan, 2006 12:29

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

Post by Marty » Wed 08 Oct, 2014 17:26

tvel wrote:2) Да. Если вы в редакторе - то по [F11], если в панелях - то из меню [F9][Параметры][Параметры плагинов].
Так я и не нашел там - искал-искал, пока в редакторе не залез по F11 :) Параметры колорера есть, а как перегрузить - нет.
tvel wrote:4) Не обязательно "то что показывает" (выше - регионы могут наследоваться). Есть ещё back=, а у RGB-стилей есть и ещё параметры.
Ну может. Если уточнишь детальнее - будет хорошо, а нет - то для быстрого старта и так сойдет. И RGB я пока не трогал, тока конему поставил пока.

Marty
Posts: 170
Joined: Sun 29 Jan, 2006 12:29

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

Post by Marty » Thu 09 Oct, 2014 09:55

Вопрос - фич-реквесты на колорер в фаровский мантис писать? Там какой-то подраздел есть или что?

2useven10
Posts: 3045
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 2 times
Been thanked: 83 times

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

Post by 2useven10 » Thu 09 Oct, 2014 09:58

да.
Project: Plugins, Category: Colorer

AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

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

Post by AleXH » Tue 28 Oct, 2014 06:54

C некоторых пор при закрытии FAR3 в последний момент мелькает в консоли:

Code: Select all

Exeption: Access violation ...
Address: ...
Function: ProcessEditorEventW
Module: ...\FarColorer.dll
XPSP2, FAR3 x86. Распаковываем дистриб в новую папку, копируем в неё FAR.exe.ini с параметром UseSystemProfiles=0, запускаем FAR.exe, открываем в редакторе какой-нибудь файл, переключаемся в панели по CtrlTab, закрываем FAR мышкой, либо F10 - промелькнул exeption. Воспроизводится в 100% случаев в 4094 и далее, более ранних билдов в найтли не имеется.

Поискал в закромах, нашёл 3962, но он закрывается практически мгновенно, что-либо увидеть невозможно.

Post Reply

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