Page 13 of 27

Posted: Wed Nov 10, 2010 8:41 am
by DV
DV wrote:можно предложить фактическую интеграцию XBrackets в Coder.
Или же, что будет не столь радикально, "научить" XBrackets и Coder "общаться" друг с другом. Например, натыкаясь на скобку, XBrackets может предварительно спросить Coder, что тот думает по поводу этой скобки. Если у плагина Coder есть информация о парной скобке (а такая информация может быть, когда Coder::Highlight активен и текст уже обработан соответствующей схемой подсветки), то XBrackets "попросит" Coder подсветить парные скобки указанным в настройках XBrackets цветом. Если же плагин Coder неактивен или не "видит" парной скобки, то XBrackets отработает самостоятельно. Таким образом, мы не лишаем XBrackets автономии - и в то же время плотно сотрудничаем с Coder. Вопрос только в том, насколько быстро в таком случае будет отрабатываться обращение к функционалу плагина Coder, и не будет ли быстрее плагину XBrackets найти и подсветить парные скобки самостоятельно.
По поводу же тегов... Если мы горим желанием подключить сюда XBrackets, то роль XBrackets сводится только к тому, чтобы указать, каким цветом раскрашивать тег, поскольку всё остальное делает сам Coder. А если плагин XBrackets отсутствует или отключен? Должен ли Coder в вопросе подсветки тегов полагаться на сторонний плагин?

Posted: Wed Nov 10, 2010 9:09 am
by Fr0sT
роль XBrackets сводится только к тому, чтобы указать, каким цветом раскрашивать тег, поскольку всё остальное делает сам Coder
Легче сделать это целиком на базе Кодера, имхо

Posted: Wed Nov 10, 2010 12:38 pm
by Deim0s
DV,
В связи с возможными переменами, хотелось бы попросить улучшить алгоритм подсветки, когда курсор находится между парных скобок.
Сейчас подсвечиваются обе скобки (как открывающие, так и завершающие), к примеру, выглядит так:
Image
Image

Хотелось бы, что бы в подобной ситуации подсвечивалась лишь одна пара.
Например, подсвечивать ту, что справа от курсора:
Image
Image

Или по выбору: слева, справа, обе. Было бы здорово :).

P.S. Сначала написал, потом прочёл XBrackets.txt, оказывается почти всё уже есть:
hlt_bothbr =
Увы мне :oops:

Posted: Sun Nov 14, 2010 1:27 pm
by DV
XBrackets v.4.2
+ несколько мелких улучшений
А именно:
1) в украинском переводе "колір фона" заменен на "колір тла";
2) галочка "Подсвечивать скобки" теперь имеет три состояния (неопределённое состояние устанавливается при снятых галочках "Цвет").

Posted: Mon Jan 10, 2011 9:36 pm
by Magister
А скажите, xbrackets в x64 версии только у меня не работает? Или я что-то не так делаю?

Posted: Tue Jan 11, 2011 8:27 am
by DV
Magister wrote:А скажите, xbrackets в x64 версии только у меня не работает? Или я что-то не так делаю?
XBrackets x64 ещё нет.

Posted: Sat Jan 29, 2011 1:11 pm
by VladSh
После выхода 64-й версии проги у меня перестали подсвечиваться парные скобки, хотя настройки плага не менял. Пользуюсь 32-битной версией.
XBrackets::Main в автозагрузке.
Какие могут быть идеи?

Posted: Sat Jan 29, 2011 2:21 pm
by FeyFre
VladSh
Я может недопонял вопрос?
64 битной версии плагина не существует(автор выше сказал), значит придется только ждать пока автор её не сделает.

Posted: Mon Jan 31, 2011 7:52 am
by VladSh
FeyFre
Вышла 64-битная версия проги, и я предполагаю, что в 32-битной сделаны какие-то изменения для совместимости кода с x64.
Про x64 я сказал только для того, чтобы показать, КОГДА именно у меня перестал отрабатывать плаг; вполне возможно (и даже скорее всего) 64 бит тут не причём. Вполне возможно, что это введение "тем" в Coder-плагин (оно было примерно в то же время). Короче, причины я не знаю, но подсвечивание парных скобок не работает.

Posted: Mon Jan 31, 2011 8:12 am
by DV
VladSh wrote:подсвечивание парных скобок не работает
В наст'ойках плагина задан цвет скобок или цвет фона? Иначе галочка "Подсвечивать скобки" будет в т'етьем состоянии (мы как бы хотим подсвечивать скобки, но цвет не задан).

Posted: Mon Jan 31, 2011 8:18 am
by VladSh
DV
Тьфу, непонятно почему слетела галка на цвете скобок :shock: ничего ж не делал... Всё оказывается было просто.
Спасибо!!!

Posted: Sun Mar 20, 2011 8:39 am
by DrakonHaSh
user_brpairs = «» ‘’ “”
Определяемые пользователем пары скобок, которые плагин XBrackets может
автозавершать и подсвечивать. Обратите внимание, что пары скобок,
которые состоят из одинаковых открывающего и закрывающего символа
(такие как "" или ''), не могут быть подсвечены, поскольку невозможно
определить, находится ли каретка у открывающего или же у закрывающего
символа такой пары скобок.
почему невозможно ? coder, например, делает без проблем (он анализирует только текущую строку). многие другие редакторы, например бред+colorer, делают это даже для многосточных пар (т.е., у которых начало пары и конец пары находятся в разных строках).

Posted: Sun Mar 20, 2011 10:02 am
by se7h
DrakonHaSh
для этого нужно парсить весь текст, чего xbrackets не делает
я уже об этом спрашивал

Posted: Sun Mar 20, 2011 3:49 pm
by DV
se7h wrote:для этого нужно парсить весь текст, чего xbrackets не делает
Истинно так. Хотя как раз в данный момент работаю над дополнительным алгоритмом, позволяющим в некоторых случаях найти парную кавычку на лету :)
Вкратце алгоритм таков: при наличии кавычки мы анализируем предыдущий и следующий символы для определения направления поиска парной кавычки.
Обозначения: " - кавычка, . - разделитель или пробел, A - буква (не разделитель).
Варианты:
A"A или .". - направление поиска равновероятно, поэтому неопределено;
A". - поиск влево (назад);
."A - поиск вправо (вперёд).

Posted: Sun Mar 20, 2011 7:29 pm
by DrakonHaSh
DV wrote:
se7h wrote:для этого нужно парсить весь текст, чего xbrackets не делает
Хотя как раз в данный момент работаю над дополнительным алгоритмом, позволяющим в некоторых случаях найти парную кавычку на лету :)
возможно вам покажется достойным реализации также и следующий алгоритм:
в подавляющем большинстве случаев строки " " и ' ' размещаются в одной строке, поэтому, грубо говоря, достаточно проанализировать текущую строку и определить номер кавычки в строке: если номер нечетный - то это открывающая кавычка, если же четный - то закрывающая.
также, возможно, было б полезно добавить исключения " и \' которые во многих языках программирования означают символ кавычки в строке, а не ограничитель(начало/конец) строки.