XBrackets plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

opk44
То Вам не доводилось наверное работать на ноутах начала этого тысячелетия, со 128 Мб мозгов и WinXP.. - ждать 3 секунды, пока скрипт выполнится, не очень удобно. А когда используешь много скриптов, то это ад.

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

Post by Fr0sT »

+1 за функцию окавычивания/раскавычивания в плагине. Даже если без настройки горячих клавиш, а внешним вызовом. Незачем размазывать функционал.

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

Post by DV »

XBrackets v.4.8
* для AkelPad 4.7.1+
+ добавлено: autocomplete.sel_autobr=2
- исправлено: некорректная подсветка при скобке в позиции переноса строки
+ добавлено: внешний вызов ("XBrackets::SelToMatchingBracket", 1, lpBuffer)
+ поддержка внутреннего языка AkelPad

Offline
Posts: 294
Joined: Tue Jul 27, 2010 11:18 pm

Post by Serge Yolkin »

DV wrote: + добавлено: autocomplete.sel_autobr=2
Большое человеческое спасибо.

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

Post by DV »

Serge Yolkin wrote:
DV wrote: + добавлено: autocomplete.sel_autobr=2
Большое человеческое спасибо.
А когда кто-нить напишет полноценный скрипт для замены скобок/кавычек на основе этого дела:

Code: Select all

  var lpBuffer;
  var a;
  var s = "";

  if ( lpBuffer = AkelPad.MemAlloc(64 * _TSIZE) )
  {
    var res;

    res = AkelPad.Call("XBrackets::SelToMatchingBracket", 1, lpBuffer);
    if ( res > 0 )
    {
      s = AkelPad.MemRead(lpBuffer, _TSTR);
    }

    AkelPad.MemFree(lpBuffer);
  }

  a = s.split(" ");
  if ( a.length == 3 )
  {
    WScript.Echo( "pos1 = " + a[0] + "\npos2 = " + a[1] + "\nbrackets = " + a[2] );
  }

то будет вообще кавай.

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

Post by VladSh »

DV wrote:А когда кто-нить напишет полноценный скрипт для замены скобок/кавычек на основе этого дела...
Плохо, что если курсор установлен где-нибудь в середине словосочетания, то brackets не определяется, - опять лишние телодвижения..
XBrackets-Rus.txt wrote:Примечание:
Чтобы избежать перерисовки подсвеченных активных скобок, плагин XBrackets.dll должен быть загружен ПОСЛЕ плагина HighLight.dll.
Возможно надо откорректировать.

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

Post by DV »

VladSh wrote:Плохо, что если курсор установлен где-нибудь в середине словосочетания, то brackets не определяется
Скриптом же можно сначала послать что-то вроде Ctrl+Left, чтобы перейти к началу слова; или Ctrl+] при активном Coder...
VladSh wrote:плагин XBrackets.dll должен быть загружен ПОСЛЕ плагина HighLight.dll. Возможно надо откорректировать.
Опять забыл про это :)

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

Post by VladSh »

DV wrote:Скриптом же можно сначала послать что-то вроде Ctrl+Left, чтобы перейти к началу слова
Допустим, кавычками обрамлено несколько предложени.. сколько раз посылать Ctrl+Left? :)
DV wrote:или Ctrl+] при активном Coder...
Лучше по возможности избегать зависимостей, и здесь можно было бы обойтись и без этого.

Нет, всё это неудобно. Лучше если бы оно было прямо внутри SelToMatchingBracket.

Offline
Posts: 366
Joined: Mon Jan 10, 2011 5:28 pm
Contact:

Post by Lenchik »

Периодически возникает баг подсветки. Image В данном случае выделялись скобки внутри блока комментариев. Долгое время думал. что иного и быть не может и что не лечится в принципе. Оказывается временно лечится выключением/включением заново плагина.

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

Post by DV »

Lenchik wrote:Периодически возникает баг подсветки
Периодически - это когда? Потому что скобки, которые уже внутри комментария, вроде бы подсвечивается правильно.
Насколько мне известно, проблема с подсветкой может произойти:
1. в момент открытия файла (когда каретка при открытии сразу позиционируется на символ скобки);
2. в тот момент, когда скобка, которая была подсвечена, сталкивается с новыми условиями подсветки, т.е. превращается в часть комментария или, наоборот, перестаёт быть частью комментария.
В обоих случаях достаточно подсветить любую другую скобку, и после этого подсветка предыдущей скобки должна исправиться.

Offline
Posts: 366
Joined: Mon Jan 10, 2011 5:28 pm
Contact:

Post by Lenchik »

DV
Я понаблюдаю подробнее.
1й случай точно встречается и действительно исправляется подсветкой другой скобки.

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

Post by DV »

XBrackets v.4.9
* для AkelPad 4.7.3+

Offline
Posts: 176
Joined: Sat Dec 24, 2011 4:05 pm

Post by F. Phoenix »

Плагин, как я понял, принимает стиль шрифта от кодера, но не принимает игнорируемые стили. В итоге не очень красиво получается, когда скобка вдруг становится курсивной на ровном месте (отключил курсив до лучших времен со сглаживанием).

Без окраски фона-то вообще один шрифт с другим перемешивается:
Image

С ней получше:
Image

Но у нее свой косяк есть: перекрывает фон выделения, что раздражает как эстетически, так и практически (граница плохо видна).
Image

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

Post by DV »

F. Phoenix
Плагин, как я понял, принимает стиль шрифта от кодера,
Yes.

но не принимает игнорируемые стили.
Это странно. Посмотрю, может, кодер теперь передаёт дополнительное поле, говорящее о том, что стиль нужно игнорировать.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

DV
См. AEM_HLGETOPTIONS.
Post Reply