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

Здесь можно обсудить ваш любимый плагин.
User avatar
ctapmex
Posts: 1010
Joined: Fri 11 Apr, 2008 07:53
Been thanked: 4 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 (в теме)
  • Тонкая настройка подсветки для отдельной схемы: в теме.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

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

Post by NightRoman » Sat 07 Jan, 2012 19:32

Latest post of the previous page:

А синтаксис я брал из оригинального catalog.xml, там тоже без SYSTEM

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

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

Post by ctapmex » Sat 07 Jan, 2012 19:50

ну да, логично. не подумал об этом.
по сути патовая ситуация - по синтаксису xml нельзя %, но если добавить system (можно) - то это внешняя ссылка и парсер xml её пытается прочитать.
попробовал обходной вариант - плагин упал. гляну парсер xml в плагине. но схему править точно не буду

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

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

Post by ctapmex » Sat 07 Jan, 2012 20:03

в общем пока надо смерится с "ошибкой". единственный вариант корректного исправления, это замена % на hex код. но текущий парсер xml в плагине не поддерживает работу с hex значениями.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

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

Post by NightRoman » Sat 07 Jan, 2012 20:18

sonar wrote:в общем пока надо смерится с "ошибкой". единственный вариант корректного исправления, это замена % на hex код. но текущий парсер xml в плагине не поддерживает работу с hex значениями.
Ясно. Спасибо, что посмотрел на это дело.

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

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

Post by ctapmex » Sat 07 Jan, 2012 20:42

darkmist wrote: Это происходит из-за того, что в схеме vbasic.hrc, из которой наследуется vbscript.hrc, обрабатывающий файлы с расширением vbs, схема PairedConstructions обрабатывается до Outlines, а используемые в PairedConstructions не содержат якоря дальнейшей обработки '\M'. Если применить такой патч:
то Outlines для указанных случаев начинают работать.
не знаю как у тебя и у Yuriy2000 завелось это исправление, но конкретно на предложенном тестовом файле не работает. нужно аналогично исправить и в vbscript.hrc . учтено будет в ближайшем релизе
darkmist wrote: Попутно: идентификаторы функций в outlines задаются как \w+. На самом деле, они, вероятно, \w[\w\d]*
тут все нормально . \w включает в себя \d

User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 1 time

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

Post by Centaur » Sun 08 Jan, 2012 05:57

sonar wrote:текущий парсер xml в плагине не поддерживает работу с hex значениями.
Тогда это не может называться парсером xml.

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

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

Post by ctapmex » Sun 08 Jan, 2012 07:09

он самописный, ранее устраивал всем требованиям .
смотрел библиотеки, которые тянули бы все требования. единственная подходящая , это xerces-c. она большая...

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

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

Post by Игорь Юдинцев » Sun 08 Jan, 2012 12:40

sonar, подходящая — в смысле поддерживающая DTD?

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

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

Post by ctapmex » Sun 08 Jan, 2012 13:19

жесткое требование (широко используемое в библиотеке), которое не поддерживается в популярном tinyxml и многих других , это внешние entity

Code: Select all

<!ENTITY catalog-console SYSTEM "hrd/catalog-console.xml">
.
я в общем то присмотрелся уже к xerces-c . мощная библиотека. еще к ней icu прицепить , так вообще мега)) но размер большой. хотя в наше время размер не так важен.

darkmist
Posts: 124
Joined: Wed 08 Aug, 2007 19:44

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

Post by darkmist » Mon 09 Jan, 2012 08:26

sonar wrote:
darkmist wrote: Попутно: идентификаторы функций в outlines задаются как \w+. На самом деле, они, вероятно, \w[\w\d]*
тут все нормально . \w включает в себя \d
Да, действительно. Но тогда можно поправить еще в кучу других схем, где встречается сочетание вида [\w\d] и аналогичные.

Zzzz
Posts: 88
Joined: Sat 13 Oct, 2007 10:12
Been thanked: 1 time

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

Post by Zzzz » Mon 09 Jan, 2012 11:10

А сейчас это неправильно красится в .lua :-(
Image
W7U SP1 x64

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 10 times

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

Post by Max Rusov » Mon 09 Jan, 2012 17:01

Поправленная схема для MacroLib'а.
Attachments
MacroLib.7z
(1.12 KiB) Downloaded 111 times

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

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

Post by NightRoman » Fri 13 Jan, 2012 12:44

Фар3. Работал с цветами редактора своем плагине, понадобился скриптик для дампа текущих цветов редактора. С его помощью заметил про колорер, что некоторые регионы перекрываются и возможно добавлены избыточно. Может, это так и задумано. Но может и нет - я лучше спрошу.

Файл catalog.xml из поставки. Дамп первой строки (отсортировано по позициям)

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

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

Post by tvel » Fri 13 Jan, 2012 15:09

С его помощью заметил про колорер, что некоторые регионы перекрываются и возможно добавлены избыточно.
Перекрываются регионы, использованы умолчания для некоторых регионов, поэтому цвета одинаковые.
Всё правильно, можно задействовать все регионы из типа def в HRD с разными цветами - кому как нравиться.

Любые оптимизации при разных регионах но одинаковых цветах - сложны и могут сломать привычное поведение колорера.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

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

Post by NightRoman » Fri 13 Jan, 2012 15:17

Любые оптимизации при разных регионах но одинаковых цветах - сложны и могут сломать привычное поведение колорера.
Хотя это верно, это ведь не обязательно причина не делать лучше, если можно. Другое дело, что приоритет задачи может быть невелик в силу многих причин.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

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

Post by NightRoman » Fri 13 Jan, 2012 15:21

Кроме того, лишние регионы навсегда занимают память (до закрытия редактора), даже есть они за пределами экрана. Во всяком случае, так было в Фар2, в Фар3, вероятно тоже, так как CopyColor работает, используя эту особенность, и в Фар3.

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

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

Post by ctapmex » Fri 13 Jan, 2012 17:55

тут только кажется, что много регионов. из-за "правильной" раскраски пробельных символов регионов стало так много.
а так там один регион длиной во всю строку с цветом по умолчанию для схемы. а далее покраска отдельных элементов строки в заданные цвета.

Post Reply

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