AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

XBrackets plugin
Goto page Previous  1, 2, 3 ... , 19, 20, 21  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins
View previous topic :: View next topic  
Author Message
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Fri Oct 12, 2012 6:38 am    Post subject: Reply with quote

VladSh, разумеется, что unquoting здесь ключевой. Простой quoting можно и через Insert("..\s..") сделать
Back to top
View user's profile Send private message
bolix



Joined: 12 Mar 2011
Posts: 8

PostPosted: Wed Oct 24, 2012 9:07 am    Post subject: Reply with quote

Можно ли сделать подсветку парного символа другим цветом, если пара отсутствует?
Back to top
View user's profile Send private message
DV



Joined: 16 Nov 2006
Posts: 851
Location: Kyiv, Ukraine

PostPosted: Wed Oct 24, 2012 11:21 am    Post subject: Reply with quote

bolix,
Nope.
Back to top
View user's profile Send private message
bolix



Joined: 12 Mar 2011
Posts: 8

PostPosted: Sat Oct 27, 2012 1:44 pm    Post subject: Reply with quote

DV
Очень давно был пост
http://akelpad.sourceforge.net/forum/viewtopic.php?p=640#640

И один из вариантов был:
Или подсвечивать скобки при любой позиции курсора между этими скобками? То есть:
[пример| текста]

Сейчас такое появилось?
Back to top
View user's profile Send private message
DV



Joined: 16 Nov 2006
Posts: 851
Location: Kyiv, Ukraine

PostPosted: Sat Oct 27, 2012 6:12 pm    Post subject: Reply with quote

bolix,
И опять вынужден вас разочаровать. Такого функционала нет и не планируется.
Помимо поиска ближайшей скобки или кавычки подобное поведение может быть неоднозначным, например:
Quote:
"Фигурная скобка { внутри | кавычек" и вне кавычек }.

| - каретка. Расстояние до символа '{' слева - 8 символов. Расстояние до символа '"' справа - 8 символов. Какую пару подсвечивать? Варианты равнозначны.
И даже в случае
Quote:
{ квадратная скобка [ внутри| фигурной } и вне её ].

можно ли утверждать, что контекст квадратных скобок (которые ближе к каретке) более важен, чем фигурных? Непонятно.
Back to top
View user's profile Send private message
Infocatcher



Joined: 06 Aug 2007
Posts: 1629

PostPosted: Sat Oct 27, 2012 6:50 pm    Post subject: Reply with quote

DV
С этим как раз просто:
1) ближайший символ имеет приоритет
2) если таких символов два, слева и справа, то брать тот, что слева (ну, или настройку сделать, какой из них выбирать)

Я-то думал, проблема в производительности. Very Happy

[Собственно, подобная проблема]|{уже была однажды решена}
Smile
Back to top
View user's profile Send private message Visit poster's website
DV



Joined: 16 Nov 2006
Posts: 851
Location: Kyiv, Ukraine

PostPosted: Sat Oct 27, 2012 8:27 pm    Post subject: Reply with quote

Infocatcher,
Проблема производительности будет вот здесь:
Quote:
"а вот вам открывающая квадратная скобка [ без | закрывающей далее по тексту"

И здесь:
Quote:
[вы уверены, что у закрывающей фигурной |кавычки } есть парная открывающая?]

И во всём бесконечном множестве подобных случаев.
То есть если сейчас XBrackets ищет парную скобку (читай: напрягает процессор) только когда каретка находится на позиции одной из скобок, то в рассмотренных выше случаях он будет искать парные скобки при любом передвижении каретки.
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2054
Location: Vinnitsa, Ukraine

PostPosted: Sat Oct 27, 2012 10:31 pm    Post subject: Reply with quote

Вставлю свои пять копеек. Ни в коем случае не намереваюсь отбирать у Виталия хлеб, но, раз он уже отсекает это хотелку, то что мешает другим написать скрипт который это будет делать(плагин позволяет)? Тем более что взялись просить и те кто в скриптах шарит достаточно что-бы сделать это.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
FeyFre



Joined: 07 Aug 2007
Posts: 2054
Location: Vinnitsa, Ukraine

PostPosted: Sat Oct 27, 2012 10:36 pm    Post subject: Reply with quote

Quote:
то в рассмотренных выше случаях он будет искать парные скобки при любом передвижении каретки.
Ну это явно не оптимально было бы. Можно ведь при поиске найти диапазон риска - место в тексте вокруг текущего положения каретки, при редактировании в которого нужно перепроверить наличие более подходящих кандидатов в подсвечиваемые скобки/кавычки. Всё что вне диапазона - ничего не делать.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
DV



Joined: 16 Nov 2006
Posts: 851
Location: Kyiv, Ukraine

PostPosted: Sun Oct 28, 2012 3:32 pm    Post subject: Reply with quote

Собственно, у меня крутилась в голове эта идея: в качестве эксперимента предложить заинтересованным лицам набросать такой скрипт - ну а потом уж я, так и быть, перенёс бы предложенный код в XBrackets Smile
По поводу возможных оптимизаций в диапазонах поиска - я немного обдумывал, как бы это можно было достичь. Особенно в таких ситуациях:
Quote:
1 + 2*( 3 + 4*( 5 + 6*( 7 + 8 ) + 9 ) |+ 10*( 11 + 12 ) )

где любое перемещение каретки действительно меняет контекст текущих скобок.
Даже если мы, скажем, будем постоянно хранить и обновлять в памяти информацию о нескольких ближайших найденных скобках, это всё равно оставляет нас совершенно безоружными против операций типа Ctrl+V и Ctrl+X, которые могут изменить ситуацию самым неожиданным образом. Не говоря уже о том, что необходимо отслеживать каждый вводимый символ, потому что в случае скобки всю информацию о ближайших найденных скобках придётся пересмотреть...
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2615
Location: Киев, Русь

PostPosted: Sun Oct 28, 2012 6:41 pm    Post subject: Reply with quote

DV wrote:
то в рассмотренных выше случаях он будет искать парные скобки при любом передвижении каретки.
Не обязательно. Можно только по комбинации клавиш /имею ввиду выделение текста/.
Back to top
View user's profile Send private message Visit poster's website
FeyFre



Joined: 07 Aug 2007
Posts: 2054
Location: Vinnitsa, Ukraine

PostPosted: Sun Oct 28, 2012 7:25 pm    Post subject: Reply with quote

Тогда можно скриптом обойтись преспокойно.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
DV



Joined: 16 Nov 2006
Posts: 851
Location: Kyiv, Ukraine

PostPosted: Sat Feb 09, 2013 1:57 pm    Post subject: Reply with quote

XBrackets v.5.4:
* AkelPad 4.8.1+
+ 'highlight.br_max_lines' (для ограничения кол-ва строк, которые просматривает XBrackets в поисках парной скобки)

Ручное ограничение кол-ва строк (например, highlight.br_max_lines=50000) актуально для слабых компьютеров, чтобы не было заметных задержек при поиске далёкой парной скобки в очень большом файле. Это ограничение не касается парных скобок, обнаруженных плагином Coder в процессе подсветки, так как в этом случае XBrackets не ищет парную скобку самостоятельно, а лишь запрашивает её местонахождение у AkelPad.
Back to top
View user's profile Send private message
Drugmix



Joined: 08 Apr 2013
Posts: 444

PostPosted: Sun Aug 04, 2013 10:02 pm    Post subject: Reply with quote

DV, здравствуйте.

1. Вопрос: как решить проблему неверной подсветки закрывающей скобки (в случае нечётного количества скобок в RegExp шаблоне)
Code:
RegExReplace(value, "i)^.*\\|\.ahk[^\w]*")

Группой из круглых скобок здесь является первая и последняя, а вместо этого подсвечиваются левая и средняя.
i) - эта скобка в шаблонах регулярных выражений используется как непарная для того, чтобы слева от неё можно было перечислять настройки для шаблона.
Я так понимаю, что для прописывания подобных правил - лучше было бы срастить Xbrackets и Coder плагины в один плагин, чтобы подобные правила можно было настраивать.

2. Баг репорт: обратите внимание на последние 2 скобки на картинке:

они криво прорисованы из-за того, что функция 'Highlight brackets' в Вашем плагине вместо перекрашивания существующих символов - на самом деле рисует новые поверх старых, но делает это без учёта курсива/жирности текста (а также, возможно, и в случае иного декорирования текста), поэтому наложение не всегда точно совпадает с текстом под наложением.

3. Фиче реквест: расширьте, пожалуйста, эти настройки:
Всё дело в том, что у каждого языка свой синтаксис и в разных языках скобки (да и другие символы) могут escape'ироваться по-разному.
По этой же причине - следует переделать 'Skip brackets after // in these files:' в нечто вроде "Skip brackets in commentaries" и полагаться на .coder файлы, т.к. именно в них, насколько я понимаю, прописываются условия и триггер-символы для перевода кода в комментарии.

DV
Что Вы лично думаете об идее слияния XBrackets и Coder плагинов? Считаете ли это возможным? Считаете ли это нужным? Есть ли у Вас желание это сделать? Если нет - то почему Вы против этого?
Back to top
View user's profile Send private message
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Mon Aug 05, 2013 6:30 am    Post subject: Reply with quote

Да слияние давно уже просится, но пока ситуация прежняя Smile
А насчет комментариев - у Coder нету выделенного понятия "Комментарий", есть только "Блок свертки" и "Стиль подсветки COMM". А так это и для toggleComment пригодилось бы.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins All times are GMT
Goto page Previous  1, 2, 3 ... , 19, 20, 21  Next
Page 20 of 21

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group