Coder plugin (2)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
Offline
Posts: 202
Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia

Post by Kley »

Instructor
Параметр "Скрывать последнюю строку блока" здорово конечно, например в *.js.
Но попробуйте Call("Coder::CodeFold::AllCollapse") на *.coder или *.ini.
Можно ли как-то запретить выполнение этого параметра для определенных типов файлов, оставив его включенным в настройках?

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

Post by Instructor »


Offline
Posts: 202
Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia

Post by Kley »

Instructor
Заранее прошу прощения. Не умею я, наверное, быть лаконичным.
Проверял на js.coder и AkelPad.ini. Список из корневых узлов отображается. Вот только проблема с последним узлом.
Свернутых узлов у меня три (AkelPad.ini):
[Options]
[Plugs]
[Themes]
Если щелкнуть под [Themes], в любом месте, то этот узел откроется с выделенным текстом от щелчка и до конца документа.
или
Нажать Ctrl+End узел [Themes] откроется, но для перехода в конец документа надо еще раз нажать Ctrl+End.
Если каретка на последней пустой строке, то последний узел не закроется. Если на самом узле или его параметрах - закрывается, но не для js.coder.
Там "Blocks:" закрывается только до первой пустой строки (хотя, пока щелкал туда сюда конец блока был за "while ($[]);" из "$~do" и перепрыгнул на последнюю "}" из "$~for").

Еще раз простите за весь этот бред :)

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

Post by Instructor »

Kley wrote:Если щелкнуть под [Themes], в любом месте, то этот узел откроется с выделенным текстом от щелчка и до конца документа.
Верно. Выделение произойдёт только, если не сразу отжать левую кнопку, т.к. при клике ниже последнего свернутого блока произойдет перевод каретки в конец документа и, если левая кнопка продолжает удерживаться, то происходит выделение.
Там "Blocks:" закрывается только до первой пустой строки...
Поправлено. Можно обновить плагин.
Еще раз простите за весь этот бред :)
По-моему всё весьма конструктивно.

Добавлено:
Нажать Ctrl+End узел [Themes] откроется, но для перехода в конец документа надо еще раз нажать Ctrl+End.
См. Coder v16.8.
Если каретка на последней пустой строке, то последний узел не закроется.
Тестовая

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

Post by Instructor »

Изменено: прокрутка к каретке, когда она находится внутри разворачиваемого блока.

Changed: scroll to caret when caret is inside expanding fold.


Coder plugin v16.8

Offline
Posts: 582
Joined: Mon Apr 08, 2013 9:50 pm
Location: Win7SP1x64, APx64

Post by Drugmix »

Instructor wrote:
Kley wrote:Если щелкнуть под [Themes], в любом месте, то этот узел откроется с выделенным текстом от щелчка и до конца документа.
Верно. Выделение произойдёт только, если не сразу отжать левую кнопку, т.к. при клике ниже последнего свернутого блока произойдет перевод каретки в конец документа и, если левая кнопка продолжает удерживаться, то происходит выделение.
У меня аналогичная проблема, но эта назойливая прокрутка происходит при любом клике ниже последнего свёрнутого блока: как при минимально коротком клике, так и при долгом.
Раньше такого поведения не было, а нынешнее поведение лично меня раздражает :(

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

Post by Instructor »

Drugmix
О какой прокрутке речь? То что вы процитировали относится к выделению.

Добавлено:
Kley wrote:Такая вот ситуация: где-то в тексте есть Function(); (курсор на Function). Далее в тексте:
function MainFunction() {...
и
function Function() {...
При вызове Call("Coder::CodeFold::FindRootLevel") переход происходит на MainFunction с выделением Function.
В этом примере вообще перейдет на function. Мне кажется, было бы неплохо переходить на "слово целиком" и "c учетом регистра".
См. Coder v16.9

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

Post by Instructor »

Добавлено: возможность искать корень с опциями "Учитывать регистр" и "Слово целиком".

Added: possibility to search root with options "Match case" and "Whole word".


Coder plugin v16.9

Offline
Posts: 582
Joined: Mon Apr 08, 2013 9:50 pm
Location: Win7SP1x64, APx64

Post by Drugmix »

Instructor wrote:Drugmix
О какой прокрутке речь? То что вы процитировали относится к выделению.
Да, я прежде всего имел в виду выделение, но в определённых случаях происходит и прокрутка: если последний блок достаточно длинный, то он раскрывается весь, а выделение в нём выставляется так, что оно начинается с позиции курсора и заканчивается в конце документа.
Чтобы вернуть окно к предыдущему состоянию (свернуть обратно этот блок) - приходится крутить окно вверх (иногда даже на несколько экранов, если последний свёрнутый блок достаточно длинный).
Можно это поведение как-то убрать? Такое выделение считаю очень неочевидным и неудобным.

Более того, вы в предыдущем сообщении говорили, что выделение должно происходить только при длинном клике, а у меня оно и при коротком происходит.

Offline
Posts: 582
Joined: Mon Apr 08, 2013 9:50 pm
Location: Win7SP1x64, APx64

Post by Drugmix »

у меня новый кодер-плагин ругается на старые кодер-файлы:

Code: Select all

"ahk.coder" contain non valid regular expression "^\s*+(:)((?:\*|?|B0|C|C1|K\d++|O|P\d++|R|S(?:I|P|E)|Z)*)(:)(.*?)(::)\s*+(.*)\s*+((?<=\s);.*)?+$"

"ahk.coder" contain non valid regular expression "(>|>=|<|<=|==|<>|!=|AND|&&|OR|\|\||NOT|~=|?|:(?!=))?+"
В правилах

Code: Select all

0	`^\s*+(:)((?:\*|?|B0|C|C1|K\d++|O|P\d++|R|S(?:I|P|E)|Z)*)(:)(.*?)(::)\s*+(.*)\s*+((?<=\s);.*)?+$` `\1=(0,${OP},0) \2=(0,${TYPE},0) \3=(0,${OP},0) \4=(0,${STR},0) \5=(0,${OP},0) \6=(0,${STR},0) \7=(3,${COMM},0)`	0	0
0	`(>|>=|<|<=|==|<>|!=|AND|&&|OR|\|\||NOT|~=|?|:(?!=))?+` `\1=(0,${IF},0)`	0	0
Что в них не так? Что изменилось в regex parsing'е?

Offline
Posts: 1162
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Instructor
В xml.coder что-то не так с объявлением XML:
4.9.4
<?xml version="1.0" encoding="utf-8"?>

4.9.6
<?xml version="1.0" encoding="utf-8"?>

Offline
Posts: 202
Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia

Post by Kley »

Instructor
AkelPad 4.9.7 (x86) dev, Coder v16.9 (Win7)
Пожалуй мало что изменилось со времени моего последнего сообщения (Sun Sep 20, 2015 1:16 pm).
Давайте понемногу. Самое неудобное поведение программы (для меня):

открыт cpp.coder, все блоки свернуты (кстати последний ("Blocks:") свернут опять же до первой пустой строки);
19 строка с "Files:" - первая видимая строка; каретка где-нибудь, скажем на слове "CompleteList:";
выполняем команду Call("Coder::CodeFold::AllCollapse") для разворота всех блоков.

19 строка с "Files:" - опять же первая видимая строка. Каретка улетела куда-то вниз.
Обязательно должна быть прокрутка скрола до позиции каретки.

Offline
Posts: 202
Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia

Post by Kley »

Instructor wrote:Добавлено: возможность искать корень с опциями "Учитывать регистр" и "Слово целиком".
Огромное за это спасибо. А можно еще одно улучшение? Подхватывать слово, если курсор справа или слева от него.

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

Post by Instructor »

Drugmix wrote:...а у меня оно и при коротком происходит.
Видимо драйвер так отрабатывает. В любом случае в версии 17.0 убрана прокрутка для мыши (выделяться скорее всего у вас будет продолжать).
у меня новый кодер-плагин ругается на старые кодер-файлы
Копируете выражение в диалог поиска - диалог показывает место ошибки.

Skif_off
См. Coder 17.0.
Kley wrote:Пожалуй мало что изменилось со времени моего последнего сообщения (Sun Sep 20, 2015 1:16 pm).
Что не изменилось из того, что мной было заявлено?
(кстати последний ("Blocks:") свернут опять же до первой пустой строки)
Убедитесь, что у вас обновляются .coder файлы. coder.coder должен содержать следующую строку:

Code: Select all

424	0	0	0	"Blocks:"       "EOF:"          " 	"       0	0
Обязательно должна быть прокрутка скрола до позиции каретки.
См. Coder 17.0.

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

Post by Instructor »

Изменено: прокрутка к каретке, когда она находится внутри разворачиваемого блока, только если выделение производилось с клавиатуры.
Изменено: прокрутка к каретке при разворачивании всех блоков.

Changed: scroll to caret when caret is inside expanding fold, only when selection done with keyboard
Changed: scroll to caret after expand all folds.


Coder plugin v17.0
Locked