Page 15 of 27
Posted: Sun May 15, 2011 8:26 pm
by Serge Yolkin
DV
У меня тоже все работает. Спасибо за версию. То, что доктор прописал.
Posted: Mon May 16, 2011 1:34 pm
by DrakonHaSh
AkelPad-4.6.0-setup.exe
=>
распаковываю из инсталлятора только
AkelFiles\
AkelPad.exe
создаю AkelPad.ini:
[Options]
SaveSettings=2
запускаю AkelPad.exe, alt-p, запускаю XBrackets (running)
ввожу
" " " "
все работает как предполагается, добавляю в конце любой символ
" " " "х
=>
вторая пара скобок перестает подсвечиваться вообще
----------------------------------
DV wrote:DrakonHaSh wrote:опция пропуск "экранированных" скобок
У меня работает, что с подсветкой Coder, что без.
могу выложить настройки и файл на котором это безобразие происходит
Posted: Mon May 16, 2011 1:50 pm
by DV
DrakonHaSh wrote:" " " "х
вторая пара скобок перестает подсвечиваться вообще
Всё верно, поскольку
"х предполагает открывающую кавычку. Это делает поиск парной кавычки однозначно неоднозначным

, а в случае неоднозначности плагин ничего не подсвечивает.
DrakonHaSh wrote:могу выложить настройки и файл на котором это безобразие происходит
В студию!
Posted: Mon May 16, 2011 2:58 pm
by DrakonHaSh
DV wrote:DrakonHaSh wrote:" " " "х
вторая пара скобок перестает подсвечиваться вообще
Всё верно, поскольку
"х предполагает открывающую кавычку. Это делает поиск парной кавычки однозначно неоднозначным

, а в случае неоднозначности плагин ничего не подсвечивает.
если вместо x поставить перевод строки будет та же проблема.
" "(\n)
" "(\n)
та же проблема - 2-я пара скобок не подсвечивается. короче нейроалгоритм нуждается в дальнейшей эволюции
DV wrote:DrakonHaSh wrote:могу выложить настройки и файл на котором это безобразие происходит
В студию!
http://rghost.ru/6624261
AkelPad.exe "cmd просмотра"
Posted: Tue May 17, 2011 7:19 am
by DV
DrakonHaSh wrote:AkelPad.exe "cmd просмотра"
Ага, все эти вещи имеют одинаковую причину: сейчас символ перевода строки рассматривается с тем же приоритетом, что пробел или табуляция. Т.е.
считается аналогичным
, а в этом случае направление поиска парной кавычки неопределено.
Наверное, имеет смысл приравнять '\n' и '\r' к '\0', который считается признаком конца файла (AnyRichEdit_GetCharAt возвращает '\0' для позиции вне файла).
И ещё полноценные проверки символов в диапазонах, возвращаемых AkelEdit+Coder, надо будет добавить.
Posted: Wed May 25, 2011 5:22 pm
by DV
XBrackets v.4.5
+ улучшен алгоритм поиска парной кавычки
- исправлено: в многосимвольном комментарии мог подсвечиваться не тот символ
Posted: Thu May 26, 2011 2:39 am
by cnnnc
Hi,
DV
My OS1: WinXP SP3 ChineseSimplified
OS2 on VirtualBox 1.66: WinXP SP3 en
AkelPad: 4.6.0+
Xbrackets: 4.5.0
I found a bug about XBrackets or AkelPad. To reproduce that, follow the step below:
make sure manual setting to autocomplete.sel_autobr=1, and others as its default.
For example there have a string like:
Code: Select all
var hMainWnd=AkelPad.GetMainWnd();
Select "AkelPad.GetMainWnd()", and press " key, or others like {, (, [.
A messagebox appear like below - translated by "Google Translate":
"0x0042ac1f" command reference "0x00220031" memory. The memory could not be "read".
To terminate the program, click "OK."
To debug the program, click "Cancel. "
Maybe sometimes it not occur that error, please restart AkelPad and try once and once again.
In VM there is different:
Sometimes Akelpad is still alive, but click the closebutton or press ESC key it has not a messagebox for me to save the file before exit;
Sometimes AkelPad is terminated without any message;
sometimes AkelPad is terminated with a Message about abnormal or crach.
Posted: Thu May 26, 2011 7:58 am
by DV
cnnnc wrote:I found a bug about XBrackets or AkelPad.
Seems I allocated
nSelLen bytes instead of
nSelLen*sizeof(wchar_t) bytes to read the selected text inside
AutoBracketsFunc. Looks like a stupid misprint appeared in v.4.4 while porting to x64.
Posted: Fri May 27, 2011 5:21 pm
by DV
XBrackets v.4.6
- fixed: memory allocation bug appeared in v.4.4 (in AutoBracketsFunc, when calling sys_memalloc)
Posted: Mon Jun 13, 2011 11:56 am
by poma
А можно в XML и производных сделать автозакрытие тегов такого типа:
Я ввожу <div class="mod"> и как только закрываю скобку akelpad добавляет </div>? Выглядит довольно несложным для реализации, нужно только следить что тег не самозакрывающийся (<br />)
Posted: Sat Sep 03, 2011 6:34 pm
by Serge Yolkin
Есть потребность в следующей фиче: быстро заменить пару кавычек/скобок на другие кавычки/скобки из поддерживаемых плагином. Особенно, когда прмер кода на языке, отличном от того, на котором пишем. Действие для этой фичи (если, конечно, такое возможно) желательно обсудить: или какая-то менюшечка по хоткею, или сочетание кноп с нужной кавычкой в конце, но для этого надо, либо подождать от Instructor реализации настройки хоткеев в одном окне с подсветкой занятых, либо использовать модификатор Win, кажется, он нигде не использовался.
Posted: Thu Sep 08, 2011 7:27 am
by DV
Serge Yolkin wrote:Есть потребность в следующей фиче: быстро заменить пару кавычек/скобок на другие кавычки/скобки
Для подобных целей напрашивается скрипт (под плагин Scripts). Но сразу же отмечу, что замена пары скобок "" на что-то другое не является тривиальным случаем и потребует сложной обработки. (Потому что открывающая и закрывающая кавычка одинаковы и в общем случае неизвестно, наткнулись мы на открывающую кавычку или же на закрывающую. В том случае, если скрипт будет обрабатывать весь файл, надо будет вести учёт встреченных кавычек - первая будет открывающей, следующая - закрывающей и т.д.)
Posted: Thu Sep 08, 2011 2:50 pm
by Serge Yolkin
DV
Да нет, все проще: выделяем ОДНУ кавычку - если парная подсветилась (стандартный функционал плагина), доступно действие по замене обеих (меня бы болше устроили горячие кнопы, но не настаиваю); если ничего не подсветилось - соответственно, ничего и недоступно.
Добавлено:
Я ж потому здесь и спросил, что работа плага по парсингу полностью устраивает, перепарсивать распарсенное еще раз не надо!
Posted: Thu Sep 15, 2011 7:05 pm
by Serge Yolkin
DV
Я извиняюсь за настырность, но все же хотелось бы получить ответ на предыдущий пост. Во избежание взаимного недопонимания: запрошенная функциональность не связана с дополнительной обработки файла или изменением существующих алгоритмов. По аналогии с Ctrl+`, в том случае, если при текущей позиции курсора плагин подсвечивает парные скобки/кавычки, становится доступным действие по замене УЖЕ найденых и подсвеченных скобок/кавычек...
Резон: при работе с длинной строкой, найденной в инете в качестве примера, находим "неправильно для текущего языка программирования закавыченный" фрагмент. Убиваем первую кавычку, меняем ее на "правильную", и мучительно ищем ответную, поскольку теперь она, разумеется, не подсвечена. Под кавычкой понимаем весь набор поддерживаемых плагином символов, тем более, что его можно настроить.
Posted: Fri Sep 16, 2011 8:45 am
by DV
Эх... Не хочется делать этого в XBrackets по двум причинам. А именно: первой и второй. Так и быть, опишу их

1. Лень мне код писать

2. Когда речь идёт о замене "неправильных скобок", то ведь логично заменять их во всём файле разом, а не каждую пару отдельно?
Исходя из вышесказанного, скрипт мне видится более удобным решением (не говоря уже о том, что в этом случае мне ничего делать не придётся

)