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

Здесь можно обсудить ваш любимый плагин.
User avatar
ctapmex
Posts: 991
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 Игоря Русских.
  • Изначальный автор плагина — Игорь Русских (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 (в теме)
  • Тонкая настройка подсветки для отдельной схемы: в теме.
  • Документация по формату:

kyodzou
Posts: 2
Joined: Thu 11 Jan, 2018 14:34

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

Post by kyodzou » Fri 12 Jan, 2018 10:15

Latest post of the previous page:

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

Taciturn
Posts: 356
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 7 times
Been thanked: 5 times
Contact:

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

Post by Taciturn » Thu 18 Jan, 2018 21:53

Всё ещё очень хочу узнать как сделать чтобы типом по умолчанию был «plain text», а не «default type»?

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

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

Post by John Doe » Fri 19 Jan, 2018 09:40

Переопределить plain text, изменив маску и вес.

Taciturn
Posts: 356
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 7 times
Been thanked: 5 times
Contact:

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

Post by Taciturn » Fri 19 Jan, 2018 21:15

Спасибо

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>
вроде бы работает нормально.
Last edited by Taciturn on Sun 04 Feb, 2018 15:28, edited 1 time in total.

User avatar
sToLp
Posts: 817
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 79 times
Been thanked: 6 times

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

Post by sToLp » Sat 20 Jan, 2018 18:37

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
Попробуйте, если не получится, то будем разбираться.
Благодарю Вас за готовность помочь разобраться основательнее! Но полагаю, что дело того не стоит, чтобы из-за простого случая осваивать сравнительно большой блок далеко не банальной информации. Тем более, что в моём случае, это к очередному разу вполне может и забыться.

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

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

Post by John Doe » Sun 21 Jan, 2018 10:33

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

User avatar
sToLp
Posts: 817
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 79 times
Been thanked: 6 times

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

Post by sToLp » Sun 21 Jan, 2018 12:10

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

siberia-man
Posts: 86
Joined: Sat 28 Jun, 2014 23:07
Has thanked: 1 time
Been thanked: 3 times

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

Post by siberia-man » Sun 21 Jan, 2018 17:33

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


IgorZ
Posts: 532
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 9 times
Been thanked: 22 times

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

Post by IgorZ » Thu 01 Feb, 2018 07:50

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

User avatar
tvel
Posts: 38
Joined: Wed 17 Mar, 2010 23:48
Location: Lenobl
Has thanked: 5 times

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

Post by tvel » Fri 02 Feb, 2018 18:31

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 не работал вообще, то строка покрасилась другими регекспами/блоками, оказавшимися самым сильным по приоритету и предназначенные для чисел.

User avatar
tvel
Posts: 38
Joined: Wed 17 Mar, 2010 23:48
Location: Lenobl
Has thanked: 5 times

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

Post by tvel » Fri 02 Feb, 2018 18:42

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

Taciturn
Posts: 356
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 7 times
Been thanked: 5 times
Contact:

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

Post by Taciturn » Sun 04 Feb, 2018 15:32

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

User avatar
tvel
Posts: 38
Joined: Wed 17 Mar, 2010 23:48
Location: Lenobl
Has thanked: 5 times

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

Post by tvel » Thu 15 Feb, 2018 20:35

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»
Нет.

vassili
Posts: 2
Joined: Sat 10 Mar, 2018 12:20

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

Post by vassili » Sat 10 Mar, 2018 12:23

подскажите, как расшифровать цвета в *.hdr файле?
например,

Code: Select all

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

Code: Select all

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

vassili
Posts: 2
Joined: Sat 10 Mar, 2018 12:20

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

Post by vassili » Sat 10 Mar, 2018 12:33

или

Code: Select all

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

User avatar
CrazyMihey@Mail.Ru
Posts: 5
Joined: Thu 03 Apr, 2008 12:39
Location: Россия, Москва
Contact:

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

Post by CrazyMihey@Mail.Ru » Sat 14 Apr, 2018 18:04

РедкоПроЯвляющийся Глюк.
Нарушение РасКраски Кода сложно, но можно словить при использовании хитрых сплетений разного рода Кавычек, Апострофов и «ЗаРезервированных Слов»
Image

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

sabio
Posts: 15
Joined: Fri 30 Jan, 2015 14:18

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

Post by sabio » Thu 17 May, 2018 13:20

Мне кажется, при автоматическом определении типа имело бы смысл отдавать предпочтение типам, добавленным в 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>
Last edited by sabio on Thu 17 May, 2018 13:32, edited 1 time in total.

Post Reply

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