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
ctapmex
Posts: 1010
Joined: Fri 11 Apr, 2008 07:53
Been thanked: 4 times
Contact:

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

Post by ctapmex » Wed 17 Feb, 2016 12:33

Latest post of the previous page:

John Doe wrote:
ctapmex wrote: как только мы видим совпадающее имя, старый прототип удаляется полностью.
Определённо это не так.
Ведь пример 2мя постами выше рабочий, и особо обращаю внимание на то, что в прототипе из my.hrc отсутствует определение location.
И тем не менее он как-то работает, о чём уже давно сказано в шапке.
я конечно это проверю, но по коду идет явное удаление всего прототипа. без вариантов. имя совпало -удалили из всех массивов.
другой момент, что колорер не ругается на отсутствие location. нет, ну и ладно. работаю дальше.

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

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

Post by John Doe » Wed 17 Feb, 2016 15:16

ctapmex wrote: другой момент, что колорер не ругается на отсутствие location. нет, ну и ладно. работаю дальше.
Не только не ругается, но и подхватывает location от предыдущего определения этого прототипа. В шапке даже есть рекомендация по этому поводу.
NightRoman wrote: то есть мерж предлагается?
Не предлагается, а всегда был.
Неважно мерж или что-то другое, лишь бы была переопределять отдельные элементы прототипа, т.к. практика этого требует (шапка не от фонаря писана).
NightRoman wrote: Лишние данные из оригинального прототипа просочаться в переопределенный.
Не представляю где это могло бы помешать.
Если нужно, при переопределении можно задать пустышки.

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

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

Post by ctapmex » Wed 17 Feb, 2016 18:14

John Doe
ты не прав.
делаем следующий эксперимент. берем тип файлов, который не пересекается с другими по формату, чтобы не было наводок. например такое: , сохранив под именем Faithless.cue

открываем его на редактирование, убеждаемся, что он раскрашен и тип выбрался CUE.
далее, в папке auto в файл empty.hrc добавляем блок как в оригинальном prototype: , убрав location. сохраняем, перезагружаем схемы и видим, что файл не раскрасился. но тип его определился как CUE. это подтверждает, что НЕТ наследования от предыдущего одноименного прототипа, который объявлен в proto.hrc.
так было ровно с того момента, как было разрешено добавлять одноименные прототипы, для переопределения оригинальных.

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

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

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

Post by John Doe » Thu 18 Feb, 2016 19:12

ctapmex wrote: ты не прав.
А как насчёт посмотреть в лог на предмет ошибок?

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

А вот если ваш empty.hrc положить рядом с proto.hrc и подключить через опцию в настройках, то всё чудесным образом заработает.

P.S.
location таким образом точно сохраняется, а остальное не знаю.
Проверил <parameters> — не сохраняется.

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

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

Post by ctapmex » Thu 18 Feb, 2016 19:50

если мы положим мой оригинальный empty.hrc, который не содержит location, рядом с proto.hrc , то ничего ровным счетом не произойдет. в логах будет
warn : Duplicate prototype 'cue'
error: Can't open stream for type without location attribute
ну а если мы location добавим, то просто переопределим прототип, указав новые настройки, но старый файл схем.

или я что-то не понимаю. и мы не о том ?

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

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

Post by John Doe » Thu 18 Feb, 2016 20:22

ctapmex wrote: так было ровно с того момента, как было разрешено добавлять одноименные прототипы, для переопределения оригинальных.
Да, похоже действительно так..
ctapmex wrote: что касается механизма дополнения прототипа. даже в части filename и firstline это не целесообразно, про location нереально дополнять вторым. вы дополнили параметры относительно базовых настроек. базовые сменились - вам снова менять настройки?
Про "дополнение" я даже не думал..
Речь о том, чтобы полностью заменить значение того или иного параметра (filename/firstline), например указав в новом определении новую маску:

Code: Select all

<filename>/\.(cue|cue2)$/</filename>

valepakh
Posts: 4
Joined: Sun 06 Mar, 2016 17:52

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

Post by valepakh » Sun 06 Mar, 2016 17:57

В подсветке скриптов bash есть баг: если в строчке, заключённой в обратные кавычки, есть решётка, то дальше всё считается комментарием
Пример

Code: Select all

    for str in `grep -v ^# $1` ; do
        prop=${str%%=*}
Что с этим можно сделать?

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

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

Post by siberia-man » Mon 07 Mar, 2016 04:08

Разве bash нормально выполняет эту команду? Подохреваю, что он выводит ошибку.

Оберните строку поиска в кавычки/апострофы

Code: Select all

grep -v '^#' "$1"

User avatar
Sim
Posts: 387
Joined: Fri 12 Jun, 2009 09:43
Has thanked: 2 times
Been thanked: 1 time
Contact:

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

Post by Sim » Fri 18 Mar, 2016 17:13

Я конечно редко редактирую файлы с unicode символами, но думаю что было бы полезно исправить это:

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

2useven10
Posts: 3817
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 158 times

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

Post by 2useven10 » Fri 18 Mar, 2016 17:46

Sim wrote: юникод символ состоит из нескольких байт а отображается как 1 символ.
Проблема в том, что один юникод символ (иероглиф) занимает 2 знакоместа в консоли.
Для стандартной консоли нормального решения нет.

valepakh
Posts: 4
Joined: Sun 06 Mar, 2016 17:52

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

Post by valepakh » Sun 27 Mar, 2016 21:12

siberia-man wrote:Разве bash нормально выполняет эту команду? Подохреваю, что он выводит ошибку.

Оберните строку поиска в кавычки/апострофы

Code: Select all

grep -v '^#' "$1"
Это совершенно нормальный регэксп, решётка - это обычный символ.
Спасибо, обернуть помогает.
Только это не всегда возможно, проблема никуда не денется.

valepakh
Posts: 4
Joined: Sun 06 Mar, 2016 17:52

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

Post by valepakh » Sun 27 Mar, 2016 21:23

valepakh wrote:
Спасибо, обернуть помогает.
Только это не всегда возможно, проблема никуда не денется.
Хмм, погонял немножко bash, да, действительно без кавычек иногда не работает, забавно.
Last edited by valepakh on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Оверквотинг

User avatar
Alexey Samlyukov
Posts: 1760
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 2 times
Contact:

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

Post by Alexey Samlyukov » Tue 26 Apr, 2016 14:05

плагин стабильно валится с таким логом
Attachments
FarTrap_20160426190020.log
(42.74 KiB) Downloaded 80 times

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

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

Post by HaRT » Tue 26 Apr, 2016 14:12

Alexey Samlyukov wrote: плагин стабильно валится
Как воспроизвести?
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
Alexey Samlyukov
Posts: 1760
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 2 times
Contact:

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

Post by Alexey Samlyukov » Tue 26 Apr, 2016 14:19

просто нажимаю на F4, любой файл. ничего не настраивал, все как идет в сборке.

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

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

Post by HaRT » Tue 26 Apr, 2016 14:23

Alexey Samlyukov wrote: просто нажимаю на F4, любой файл. ничего не настраивал, все как идет в сборке.
У меня так ничего не падает ни на каких из нескольких опробованных файлов.
Win 8.1 x64; Far Manager, version 3.0 (build 4637) x86
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
Alexey Samlyukov
Posts: 1760
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 2 times
Contact:

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

Post by Alexey Samlyukov » Tue 26 Apr, 2016 14:31

и да, у меня по-прежнему амд сэмпрон 3000+ от 2004 года ))

Post Reply

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