XBrackets plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
DV
Offline
Posts: 1294
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post 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 в вопросе подсветки тегов полагаться на сторонний плагин?

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

роль XBrackets сводится только к тому, чтобы указать, каким цветом раскрашивать тег, поскольку всё остальное делает сам Coder
Легче сделать это целиком на базе Кодера, имхо

Offline
Posts: 139
Joined: Fri Feb 12, 2010 11:33 am

Post by Deim0s »

DV,
В связи с возможными переменами, хотелось бы попросить улучшить алгоритм подсветки, когда курсор находится между парных скобок.
Сейчас подсвечиваются обе скобки (как открывающие, так и завершающие), к примеру, выглядит так:
Image
Image

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

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

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

DV
Offline
Posts: 1294
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

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

Offline
Posts: 2
Joined: Mon Jan 10, 2011 9:23 pm

Post by Magister »

А скажите, xbrackets в x64 версии только у меня не работает? Или я что-то не так делаю?

DV
Offline
Posts: 1294
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Magister wrote:А скажите, xbrackets в x64 версии только у меня не работает? Или я что-то не так делаю?
XBrackets x64 ещё нет.

Offline
Posts: 3243
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

После выхода 64-й версии проги у меня перестали подсвечиваться парные скобки, хотя настройки плага не менял. Пользуюсь 32-битной версией.
XBrackets::Main в автозагрузке.
Какие могут быть идеи?

Offline
Posts: 2248
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

VladSh
Я может недопонял вопрос?
64 битной версии плагина не существует(автор выше сказал), значит придется только ждать пока автор её не сделает.

Offline
Posts: 3243
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

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

DV
Offline
Posts: 1294
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

VladSh wrote:подсвечивание парных скобок не работает
В наст'ойках плагина задан цвет скобок или цвет фона? Иначе галочка "Подсвечивать скобки" будет в т'етьем состоянии (мы как бы хотим подсвечивать скобки, но цвет не задан).

Offline
Posts: 3243
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

DV
Тьфу, непонятно почему слетела галка на цвете скобок :shock: ничего ж не делал... Всё оказывается было просто.
Спасибо!!!

Offline
Posts: 122
Joined: Sat Mar 19, 2011 10:20 pm

Post by DrakonHaSh »

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

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

DrakonHaSh
для этого нужно парсить весь текст, чего xbrackets не делает
я уже об этом спрашивал

DV
Offline
Posts: 1294
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

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

Offline
Posts: 122
Joined: Sat Mar 19, 2011 10:20 pm

Post by DrakonHaSh »

DV wrote:
se7h wrote:для этого нужно парсить весь текст, чего xbrackets не делает
Хотя как раз в данный момент работаю над дополнительным алгоритмом, позволяющим в некоторых случаях найти парную кавычку на лету :)
возможно вам покажется достойным реализации также и следующий алгоритм:
в подавляющем большинстве случаев строки " " и ' ' размещаются в одной строке, поэтому, грубо говоря, достаточно проанализировать текущую строку и определить номер кавычки в строке: если номер нечетный - то это открывающая кавычка, если же четный - то закрывающая.
также, возможно, было б полезно добавить исключения " и \' которые во многих языках программирования означают символ кавычки в строке, а не ограничитель(начало/конец) строки.
Post Reply