XBrackets plugin
- Author
- Message
-
Offline
- Posts: 122
- Joined: Sat Mar 19, 2011 10:20 pm
AkelPad-4.6.0-setup.exe
=>
распаковываю из инсталлятора только
AkelFiles\
AkelPad.exe
создаю AkelPad.ini:
[Options]
SaveSettings=2
запускаю AkelPad.exe, alt-p, запускаю XBrackets (running)
ввожу
" " " "
все работает как предполагается, добавляю в конце любой символ
" " " "х
=>
вторая пара скобок перестает подсвечиваться вообще
----------------------------------
=>
распаковываю из инсталлятора только
AkelFiles\
AkelPad.exe
создаю AkelPad.ini:
[Options]
SaveSettings=2
запускаю AkelPad.exe, alt-p, запускаю XBrackets (running)
ввожу
" " " "
все работает как предполагается, добавляю в конце любой символ
" " " "х
=>
вторая пара скобок перестает подсвечиваться вообще
----------------------------------
могу выложить настройки и файл на котором это безобразие происходитDV wrote:У меня работает, что с подсветкой Coder, что без.DrakonHaSh wrote:опция пропуск "экранированных" скобок
-
Offline
- Posts: 1294
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Всё верно, поскольку "х предполагает открывающую кавычку. Это делает поиск парной кавычки однозначно неоднозначнымDrakonHaSh wrote:" " " "х
вторая пара скобок перестает подсвечиваться вообще

В студию!DrakonHaSh wrote:могу выложить настройки и файл на котором это безобразие происходит
-
Offline
- Posts: 122
- Joined: Sat Mar 19, 2011 10:20 pm
если вместо x поставить перевод строки будет та же проблема.DV wrote:Всё верно, поскольку "х предполагает открывающую кавычку. Это делает поиск парной кавычки однозначно неоднозначнымDrakonHaSh wrote:" " " "х
вторая пара скобок перестает подсвечиваться вообще, а в случае неоднозначности плагин ничего не подсвечивает.
" "(\n)
" "(\n)
та же проблема - 2-я пара скобок не подсвечивается. короче нейроалгоритм нуждается в дальнейшей эволюции

http://rghost.ru/6624261DV wrote:В студию!DrakonHaSh wrote:могу выложить настройки и файл на котором это безобразие происходит
AkelPad.exe "cmd просмотра"
-
Offline
- Posts: 1294
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Ага, все эти вещи имеют одинаковую причину: сейчас символ перевода строки рассматривается с тем же приоритетом, что пробел или табуляция. Т.е.DrakonHaSh wrote:AkelPad.exe "cmd просмотра"
Code: Select all
abc
" " " "
def
Code: Select all
abc " " " " def
Наверное, имеет смысл приравнять '\n' и '\r' к '\0', который считается признаком конца файла (AnyRichEdit_GetCharAt возвращает '\0' для позиции вне файла).
И ещё полноценные проверки символов в диапазонах, возвращаемых AkelEdit+Coder, надо будет добавить.
-
Offline
- Posts: 120
- Joined: Sat Jan 12, 2008 10:16 am
- Location: Shantou, China
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:
Select "AkelPad.GetMainWnd()", and press " key, or others like {, (, [.
A messagebox appear like below - translated by "Google Translate":
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.
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();
A messagebox appear like below - translated by "Google Translate":
Maybe sometimes it not occur that error, please restart AkelPad and try once and once again."0x0042ac1f" command reference "0x00220031" memory. The memory could not be "read".
To terminate the program, click "OK."
To debug the program, click "Cancel. "
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.
-
Offline
- Posts: 1294
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
-
Offline
- Posts: 14
- Joined: Thu Oct 07, 2010 4:36 pm
-
Offline
- Posts: 294
- Joined: Tue Jul 27, 2010 11:18 pm
Есть потребность в следующей фиче: быстро заменить пару кавычек/скобок на другие кавычки/скобки из поддерживаемых плагином. Особенно, когда прмер кода на языке, отличном от того, на котором пишем. Действие для этой фичи (если, конечно, такое возможно) желательно обсудить: или какая-то менюшечка по хоткею, или сочетание кноп с нужной кавычкой в конце, но для этого надо, либо подождать от Instructor реализации настройки хоткеев в одном окне с подсветкой занятых, либо использовать модификатор Win, кажется, он нигде не использовался.
-
Offline
- Posts: 1294
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Для подобных целей напрашивается скрипт (под плагин Scripts). Но сразу же отмечу, что замена пары скобок "" на что-то другое не является тривиальным случаем и потребует сложной обработки. (Потому что открывающая и закрывающая кавычка одинаковы и в общем случае неизвестно, наткнулись мы на открывающую кавычку или же на закрывающую. В том случае, если скрипт будет обрабатывать весь файл, надо будет вести учёт встреченных кавычек - первая будет открывающей, следующая - закрывающей и т.д.)Serge Yolkin wrote:Есть потребность в следующей фиче: быстро заменить пару кавычек/скобок на другие кавычки/скобки
-
Offline
- Posts: 294
- Joined: Tue Jul 27, 2010 11:18 pm
DV
Да нет, все проще: выделяем ОДНУ кавычку - если парная подсветилась (стандартный функционал плагина), доступно действие по замене обеих (меня бы болше устроили горячие кнопы, но не настаиваю); если ничего не подсветилось - соответственно, ничего и недоступно.
Добавлено:
Я ж потому здесь и спросил, что работа плага по парсингу полностью устраивает, перепарсивать распарсенное еще раз не надо!
Да нет, все проще: выделяем ОДНУ кавычку - если парная подсветилась (стандартный функционал плагина), доступно действие по замене обеих (меня бы болше устроили горячие кнопы, но не настаиваю); если ничего не подсветилось - соответственно, ничего и недоступно.
Добавлено:
Я ж потому здесь и спросил, что работа плага по парсингу полностью устраивает, перепарсивать распарсенное еще раз не надо!
-
Offline
- Posts: 294
- Joined: Tue Jul 27, 2010 11:18 pm
DV
Я извиняюсь за настырность, но все же хотелось бы получить ответ на предыдущий пост. Во избежание взаимного недопонимания: запрошенная функциональность не связана с дополнительной обработки файла или изменением существующих алгоритмов. По аналогии с Ctrl+`, в том случае, если при текущей позиции курсора плагин подсвечивает парные скобки/кавычки, становится доступным действие по замене УЖЕ найденых и подсвеченных скобок/кавычек...
Резон: при работе с длинной строкой, найденной в инете в качестве примера, находим "неправильно для текущего языка программирования закавыченный" фрагмент. Убиваем первую кавычку, меняем ее на "правильную", и мучительно ищем ответную, поскольку теперь она, разумеется, не подсвечена. Под кавычкой понимаем весь набор поддерживаемых плагином символов, тем более, что его можно настроить.
Я извиняюсь за настырность, но все же хотелось бы получить ответ на предыдущий пост. Во избежание взаимного недопонимания: запрошенная функциональность не связана с дополнительной обработки файла или изменением существующих алгоритмов. По аналогии с Ctrl+`, в том случае, если при текущей позиции курсора плагин подсвечивает парные скобки/кавычки, становится доступным действие по замене УЖЕ найденых и подсвеченных скобок/кавычек...
Резон: при работе с длинной строкой, найденной в инете в качестве примера, находим "неправильно для текущего языка программирования закавыченный" фрагмент. Убиваем первую кавычку, меняем ее на "правильную", и мучительно ищем ответную, поскольку теперь она, разумеется, не подсвечена. Под кавычкой понимаем весь набор поддерживаемых плагином символов, тем более, что его можно настроить.
-
Offline
- Posts: 1294
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Эх... Не хочется делать этого в XBrackets по двум причинам. А именно: первой и второй. Так и быть, опишу их 
1. Лень мне код писать
2. Когда речь идёт о замене "неправильных скобок", то ведь логично заменять их во всём файле разом, а не каждую пару отдельно?
Исходя из вышесказанного, скрипт мне видится более удобным решением (не говоря уже о том, что в этом случае мне ничего делать не придётся
)

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

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