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

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

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

Post 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
    Пример: viewtopic.php?p=160386#p160386
  • Как подключить собственную схему:
    • используя пользовательский файл прототипов:
    • используя папку auto:
    • через пользовательский catalog.xml:
  • Как переопределить существующую схему
  • Как правильно "удалить" какую-либо стандартную схему
  • Как использовать относительные пути и переменные окружения
  • Если раскраска неправильна:
  • Неочевидные настройки: maxlinelength (в теме)
  • Тонкая настройка подсветки для отдельной схемы: в теме.

User avatar
cmd.exe
Posts: 375
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 180 times
Been thanked: 9 times
Contact:

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

Post by cmd.exe »

Latest post of the previous page:

Code: Select all

hlf:"%FARHOME%\PLugins\FarColorer\bin\colorerr.hlf"
Из Колорера я использую схем 5-7...
I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it. (c) I Am Devloper
I know nothing except the fact of my ignorance. (с) Socrates

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

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

Post by HaRT »

topmo3 wrote: как сделать чтобы файлы *.pac раскрашивались по схеме JavaScript и изменения не пропадали при обновлении Far и плагина?
Поищите в теме сообщения со словами [b][i]proto.hrc[/i][/b] и [b][i]proto_user.hrc[/i][/b].
Фар есть инструмент, а не нянька. © 2009 DrKnS

topmo3
Posts: 144
Joined: Mon 21 Aug, 2006 15:36
Has thanked: 9 times
Been thanked: 5 times

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

Post by topmo3 »

скопировал файл "C:\Program Files\Far3\Plugins\FarColorer\base\hrc\proto.hrc" к себе "C:\Users\user\AppData\Roaming\Far Manager\Profile\FarColorer\my.hrc" и назвал его my.hrc

указал в настройках колорера "Файл списка схем пользователя" полный путь к my.hrc

удалил из my.hrc все <prototype .. </prototype> кроме jScript и добавил расширение pac:

Code: Select all

  <prototype name="jScript" group="inet" description="JavaScript">
    <filename>/\.(js|mocha|pac)$/i</filename>
  </prototype>
как шапке сказано, не указываю location, только filename измененный
не работает расраска ни *.js, ни *.pac

если поменять у прототипа например name="jScript1" то *.js снова работает.
т.е. my.hcr виден и учитывается...

можете подсказать, где я ошибся?

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

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

Post by John Doe »

topmo3 wrote: удалил из my.hrc все <prototype .. </prototype> кроме jScript и добавил расширение pac:
Вот так работает:

Code: Select all

<?xml version="1.0" encoding='Windows-1251'?>
<!DOCTYPE hrc PUBLIC
  "-//Cail Lomecb//DTD Colorer HRC take5//EN"
  "http://colorer.sf.net/2003/hrc.dtd"
>
<hrc version="take5" xmlns="http://colorer.sf.net/2003/hrc"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://colorer.sf.net/2003/hrc http://colorer.sf.net/2003/hrc.xsd">

  <prototype name="jScript" group="inet" description="JavaScript">
    <filename>/\.(js|mocha|pac)$/i</filename>
  </prototype>
</hrc>

User avatar
macik
Posts: 42
Joined: Wed 06 Apr, 2011 14:40

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

Post by macik »

Жаль пропустил, ваше сообщение.

hint: Сообщения с цитированием обращают на себя гораздо больше внимания, особенно в теме с общими обсуждениями.

topmo3
Posts: 144
Joined: Mon 21 Aug, 2006 15:36
Has thanked: 9 times
Been thanked: 5 times

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

Post by topmo3 »

John Doe wrote: Вот так работает:
да именно так я и делал (оставил еще эти всякме ENTITY...
скопировал Ваш вариант - то же самое, не работает *pac и перестает работать *.js
как меняю название name="jScript1" - *.js начинает опять работать...

включил лог,
вернул оригинальную строку


как бы location указать без путей, чтобы оригинальный был?

Far 3.0 build 4547 x86
Last edited by topmo3 on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: [spoiler]

User avatar
NightRoman
Posts: 5940
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 14 times
Been thanked: 15 times
Contact:

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

Post by NightRoman »

@topmo3, а если путь с %FARHOME% попробовать? Вроде добавляли поддержку переменных окружения. В моем my-catalog.xml они используются и работают. В my-proto.hrc не проверял.

topmo3
Posts: 144
Joined: Mon 21 Aug, 2006 15:36
Has thanked: 9 times
Been thanked: 5 times

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

Post by topmo3 »

Спасибо. Работает абсолютный путь :
<location link="jar:C:\Program Files\Far3\Plugins\FarColorer\base\hrc\common.jar!inet/jscript.hrc"/>

и, что самое прекрасное, с помощью %FARHOME% :
<location link="jar:%FARHOME%\Plugins\FarColorer\base\hrc\common.jar!inet/jscript.hrc"/>

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

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

Post by John Doe »

topmo3 wrote: скопировал файл "C:\Program Files\Far3\Plugins\FarColorer\base\hrc\proto.hrc" к себе "C:\Users\user\AppData\Roaming\Far Manager\Profile\FarColorer\my.hrc" и назвал его my.hrc
Подозреваю что всё дело в этом: относительные пути понимаются относительно нового my.hrc, а не оригинального proto.hrc, как ожидается.
Имхо стоит исправить в плагине.

User avatar
NightRoman
Posts: 5940
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 14 times
Been thanked: 15 times
Contact:

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

Post by NightRoman »

John Doe wrote: Подозреваю что всё дело в этом: относительные пути понимаются относительно нового my.hrc, а не оригинального proto.hrc, как ожидается.
Имхо стоит исправить в плагине.
Имхо не стоит ничего править в плагине. У моего my-proto.hrc относительные пути используются, как относительные от него. И это именно то, что мне надо.

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

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

Post by John Doe »

NightRoman wrote: У моего my-proto.hrc относительные пути используются, как относительные.
Так кто ж против.
Речь немного о другом: путь задан в proto.hrc, а в my.hrc переопрделяются совсем другие атрибуты (маска)

User avatar
NightRoman
Posts: 5940
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 14 times
Been thanked: 15 times
Contact:

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

Post by NightRoman »

Тогда непонятно. Что нужно править в плагине, конкретно?

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

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

Post by John Doe »

С самого начала.
Вот наш прототип из proto.hrc:

Code: Select all

  <prototype name="jScript" group="inet" description="JavaScript">
    <location link="jar:common.jar!inet/jscript.hrc"/>
    <filename>/\.(js|mocha)$/i</filename>
  </prototype>
Путь location относительный, считается относительно proto.hrc, всё работает.

Далее, хотим добавить маску, для чего в пользовательском my.hrc переопределяем filename:

Code: Select all

  <prototype name="jScript" group="inet" description="JavaScript">
    <filename>/\.(js|mocha|pac)$/i</filename>
  </prototype>
И вот тут происходит кое-что неявное: location не меняли, но путь теперь уже считается относительно нашего my.hrc, и всё перестаёт работать.

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

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

Post by ctapmex »

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

относительные пути всегда смотрятся от файла, в котором они заданы.

User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

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

Post by Aidar »

Можно добавить параметр: полное переопределение, доопределение и т.п.

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

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

Post by John Doe »

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

Post Reply

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