Page 180 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: Fri 12 Jan, 2018 10:15
by kyodzou

Latest post of the previous page:

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

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

Posted: Thu 18 Jan, 2018 21:53
by Taciturn
Всё ещё очень хочу узнать как сделать чтобы типом по умолчанию был «plain text», а не «default type»?

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

Posted: Fri 19 Jan, 2018 09:40
by John Doe
Переопределить plain text, изменив маску и вес.

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

Posted: Fri 19 Jan, 2018 21:15
by Taciturn
Спасибо

Code: Select all

  <prototype name="text" group="other" description="plain text">
    <location link="jar:%FarHome%\Plugins\FarColorer\base\hrc\common.jar!misc/text.hrc"/>
    <filename weight='1.5'>//</filename>
  </prototype>
вроде бы работает нормально.

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

Posted: Sat 20 Jan, 2018 18:37
by sToLp
HaRT и John Doe



Большое спасибо за ваши подсказки! Однако, в очередной раз поупражнявшись и подзапутавшись, вернулся к выводу о том, что в моём случае "овчинка выделки не стоит". И ограничился следующим простым способом.

В файле %FarHome%\plugins\FarColorer\base\hrc\proto.hrc в разделе name="lua" в регекспе строки <filename>/\.(w?lua)$/i</filename> фрагмент lua поменял на lu\w* и всё. И когда слетит, то не сложно будет и восстановить.

John Doe wrote:
Thu 11 Jan, 2018 13:19
Попробуйте, если не получится, то будем разбираться.
Благодарю Вас за готовность помочь разобраться основательнее! Но полагаю, что дело того не стоит, чтобы из-за простого случая осваивать сравнительно большой блок далеко не банальной информации. Тем более, что в моём случае, это к очередному разу вполне может и забыться.

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

Posted: Sun 21 Jan, 2018 10:33
by John Doe
sToLp wrote:
Sat 20 Jan, 2018 18:37
И ограничился следующим простым способом.
Не лень будет при каждом обновлении повторять процедуру?

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

Posted: Sun 21 Jan, 2018 12:10
by sToLp
John Doe wrote:
Sun 21 Jan, 2018 10:33
Не лень будет при каждом обновлении повторять процедуру?
Так ведь .

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

Posted: Sun 21 Jan, 2018 17:33
by siberia-man
John Doe wrote:
Sun 21 Jan, 2018 10:33
Не лень будет при каждом обновлении повторять процедуру?
Если кастомные настройки вынести в отдельный каталог, то проблем с обновленифми не будет:


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

Posted: Thu 01 Feb, 2018 07:50
by IgorZ
Выполнение команды lua:editor.Editor(far.MkTemp(),"test",1,1,80,2) приводит к
Windows XP SP3, Far30b5134.x86.20180201, чистый профиль, только стандартные плагины.

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

Posted: Fri 02 Feb, 2018 18:31
by tvel
kyodzou wrote:
Thu 11 Jan, 2018 14:44

Code: Select all

      <import type="def"/>
      <region name="ftComment" parent="Comment"/>
...
<!-- Linear Comments -->
         <regexp start="/^([$].*$)/i" region0="ftComment"/>
http://colorer.sourceforge.net/hrc-ref/ ... esyntax.re
У элемента <regexp> нет и не было атрибута start=. Ошибка, по идее такой HRC вообще работать не должен.
kyodzou wrote:
Thu 11 Jan, 2018 14:44
Colorer коректно подсвечивает закоментированную строку, но если в этой строке есть числа - они подсвечиватся как числа а не как коментарий. Я так понял, это свойства родительского стиля parent="Comment".
Нет. Регионы - не схемы. Наследование регионов имеет значение только при их интерпретации в HRD. Грубо говоря регион=цвет, а не алгоритм раскраски. Так как regexp не работал вообще, то строка покрасилась другими регекспами/блоками, оказавшимися самым сильным по приоритету и предназначенные для чисел.

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

Posted: Fri 02 Feb, 2018 18:42
by tvel
Taciturn wrote:
Thu 18 Jan, 2018 21:53
Всё ещё очень хочу узнать как сделать чтобы типом по умолчанию был «plain text», а не «default type»?
viewtopic.php?p=115552#p115552
sToLp wrote:
Sat 20 Jan, 2018 18:37
В файле %FarHome%\plugins\FarColorer\base\hrc\proto.hrc в разделе name="lua" в регекспе строки <filename>/\.(w?lua)$/i</filename> фрагмент lua поменял на lu\w* и всё. И когда слетит, то не сложно будет и восстановить.
Выше в сообщении есть ссылка, просто переопределите прототип lua на свой добавлением файла в auto. Файл можно назвать как угодно, prototype тоже, но вроде можно и совпадающий с существующим прототипом.

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

Posted: Sun 04 Feb, 2018 15:32
by Taciturn
tvel, если считать это ответом на мой вопрос, то ваш вариант не работает, в нём же нет никакой схемы, получается тот же «default type», только с другим именем, а вовсе не «plain text». Разве что регэксп можно упростить — с «/(.*)/i» до «//».

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

Posted: Thu 15 Feb, 2018 20:35
by tvel
Taciturn wrote:
Sun 04 Feb, 2018 15:32
ваш вариант не работает
Sim отписался что работает.
Taciturn wrote:
Sun 04 Feb, 2018 15:32
в нём же нет никакой схемы
Другое дело, что можно упростить до банального переопределения прототипа - обёрнуть ваш прототип в пустышку hrc для папки auto (возможно именно так вы и сделали). Но как я предложил - надёжнее, создаётся новый тип, со своими настройками (что иногда важно) и который будет срабатывать независимо от оригинального прототипа text, который продолжит матчится со своим filename.
Taciturn wrote:
Sun 04 Feb, 2018 15:32
получается тот же «default type», только с другим именем, а вовсе не «plain text»
Нет.

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

Posted: Sat 10 Mar, 2018 12:23
by vassili
подскажите, как расшифровать цвета в *.hdr файле?
например,

Code: Select all

 back="#10e8e8eb">		
это RGB(238 238 238)? каким образом преобразовывать?
или

Code: Select all

back="#e0a0a0e0
как узнать какой это цвет?

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

Posted: Sat 10 Mar, 2018 12:33
by vassili
или

Code: Select all

fore="#e0000000" back="#e0a0a0e0"
что это за цвет? как узнать?

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

Posted: Sat 14 Apr, 2018 18:04
by CrazyMihey@Mail.Ru
РедкоПроЯвляющийся Глюк.
Нарушение РасКраски Кода сложно, но можно словить при использовании хитрых сплетений разного рода Кавычек, Апострофов и «ЗаРезервированных Слов»
Image

В данном Примере глюк с Очернением всего Кода до конца Файла не проявляется, если изменить последовательность Символов «case».
Конечно, Это не страшно, но Разработчикам следует знать.

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

Posted: Thu 17 May, 2018 13:20
by sabio
Мне кажется, при автоматическом определении типа имело бы смысл отдавать предпочтение типам, добавленным в Favorites.

Сейчас файл вида

Code: Select all

{
  "name": {
  }
}
определяется как Pascal. А я бы хотел, чтобы выбирался JSON, который я вынес в Favorites.

Я знаю, что этого можно добиться создав кастомный каталог в профиле и изменив вес для типа JSON.
Но, мне кажется, для такого случая Favorites был бы более гибким и гораздо более простым способом.

Добавлено:
Ха! Как оказалось, для JSON вообще не было определено распознавание по первой строке.
Исправил в итоге так:

Code: Select all

   <prototype name="json" group="rare" description="JSON">
    <location link="jar:%FARHOME%\plugins\FarColorer\base\hrc\common.jar!rare/json.hrc"/>
    <filename weight='3'>/\.json$/i</filename>
    <firstline weight='3'>/^(\{|\[)/</firstline>
   </prototype>