Scripts discussion (3)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
Offline
Site Admin
Posts: 6403
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

VladSh wrote:SearchReplace.js v1.3 при вызове без параметров и выделенном в окне редактирования тексте (для подхвата в поле поиска) роняет AkelPad.
Не воспроизводится.
А вообще я хотел попросить одну фичу...
SelPoint.js
P.S. И ещё описание Ваших скриптов в диалоге скриптов всё равно отображаются кракозябрами. В AkelUpdater'е нормально.
Измените кодировку по умолчанию с UTF-8 на 1251.

Offline
Posts: 171
Joined: Thu Dec 01, 2011 11:15 pm
Location: Россия

Post by LonerD »

VladSh wrote:SearchReplace.js v1.3 при вызове без параметров и выделенном в окне редактирования тексте (для подхвата в поле поиска) роняет AkelPad.
У меня на Win8.1 х64 на Акелпаде 4.9.3 этот плагин без параметров и при наличии выделения падений не вызывает. Может, всё зависит от настроек редактора.
А вообще Акелпад - "нежная" штучка. Роняется легко и непринуждённо на ровном месте. Не скажу чтоб массово падал, но при массовом тестировании скриптов и настроек иногда просто закрывается с виндовской ошибкой и предложением отправить репорт (причём в следующие разы при исполнении того же скрипта падения не происходит).
А ещё после внезапного выключения иногда портит текст ((( Ноутбук не всегда может выйти из спящего режима при подключённом hdmi-кабеле, иногда уходит в перезагрузку. Если Акелпад открыт был в это время - то открытый файл может полностью испортиться - текст замещается сторонними символами...
VladSh wrote:запомнить позицию, на которой стоит курсор перед вызовом диалога, затем поискать нижнюю часть текста... и чтобы при закрытии диалога тест выделился автоматически, начиная с позиции, в которой был установлен
Немножко "вручную" это можно сделать плагином SelPoint.js - поставить точку выделения, потом поискать нужный текст и в желаемом месте поставить вторую точку выделения.

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

Post by Instructor »

LonerD wrote:А вообще Акелпад - "нежная" штучка.
Если условия воспроизводимые, обязательно сообщайте.

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

Post by VladSh »

Instructor wrote:> SearchReplace.js роняет AkelPad.
Не воспроизводится.
Выслал сборку на почту.
Instructor wrote:SelPoint.js
Да, это подходит, спасибо!
Instructor wrote:> И ещё описание Ваших скриптов в диалоге скриптов всё равно отображаются кракозябрами.
Измените кодировку по умолчанию с UTF-8 на 1251.
То есть у всех остальных, кто не работает с 1251 по умолчанию это будет неправильно отображаться? Может лучше не завязываться на эту настройку, а сделать как в AkelUpdater'е? :)

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

Post by VladSh »

Instructor
Можно ли поиметь более расширенную доку к этому? :)
А то непонятно...
Ситуация: были исправлены ошибки в скрипте, который лежит в Include, но я не нашёл информации, как его можно прописать, чтобы люди в AkelUpdater'е его увидели и обновили.
Может всё-таки лучше просто прописывать что обновлять, включая и файлы, лежащие в Include (или ещё где-либо), не указывая зависимостей? Ведь если все файлы будут перечислены, то и зависимости не будут нужны!

P.S. Ещё хотелось бы эту доку где-нибудь в таком месте, чтобы было легко найти (в Scripts_...txt или хотя бы в FAQ), а то пришлось ссылку, что выше, искать с помощью Гугла "по сайту".

Offline
Posts: 171
Joined: Thu Dec 01, 2011 11:15 pm
Location: Россия

Post by LonerD »

KDJ
Пожелание к доработке скрипта LinesSelectCopyMoveDuplicate.js. :)
1. Если в Akelpad включена опция "Left click on margin select line", то курсор помещается на строку ниже перед первым символом. Пожелание - не обрабатывать эту строку.
2. Сделать возможность дублирования построчно. То есть мы имеем:

Code: Select all

11111
22222
33333
Нужно получить

Code: Select all

11111
11111
22222
22222
33333
33333
(частично такой функционал реализован в скрипте DuplicateLines.js от Instructor, но в нём обрабатываются не цельные строки, а отдельные символы)

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

Post by VladSh »

tidy.js - продолжение истории.

Что сделано:
- ушли от расширения cfg, как несоответствующего данному типу файла; также все примеры в документации на HTML Tidy идут с txt-файлами;
- выбор конфигов с помощью params-механизма (исп. ShowMenuEx.js); как правильно заполнить param-файл можно глянуть пока здесь;
- если задаётся конфиг, то все остальные опции игнорируются, т.к. не имеют смысла.

Был протестирован старый и новый tidy.exe; выводы:

1. Старый в некоторых случаях на одну и ту же ошибку выдаёт в 2-3 раза больше строк сообщений (новый выдаёт 2).

2. В некоторых случаях новый вообще не показывает ошибку, как например если между открывающим и закрывающим тэгами <body> (для HTML) вписать какой-нибудь незакрытый тэг. Старый tidy в этом случае справляется отлично.
Вполне возможно, что и в новом для этого случая есть какая-то опция, но я беглым взглядом ничего похожего не нашёл. Может кто-то в этом поможет?

3. Если первой строкой конфигурационного файла не указать коммент, типа:

Code: Select all

// sample config file for HTML tidy
то форматирование происходит, но в конце файла обе версии дописывают ерунду, которая ничего общего с реальностью не имеет, как например:

Code: Select all

Config: unknown option: indent-attributes
Видимо tidy рассчитывал в первой строке конфиг-файла увидеть комментарий, а не тут-то было, и имя опции взял из 1-й строки.

4. Выходных преобразований новый делает больше. Имеется экспериментальная поддержка HTML5.
В общем если это не нужно, то можно оставаться на старой версии, к тому же она в 3 раза меньше по объёму.

Идеи? Пожелания?

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

Post by Skif_off »

VladSh
У меня не всегда (закономерность не уловил), к тому же вроде в документации не оговаривается и в готовых конфигах вроде не видел.

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

Post by Instructor »

VladSh wrote:Выслал сборку на почту.
Не воспроизводится. Проверено на WinXP x86, Win7 x64.

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

Post by VladSh »

Instructor
Не могли бы Вы немножечко усовершенствовать скрипт GetNumberMembers.js?
Хотелось бы дополнительный параметр output, который бы позволял указать, куда выводить результат:
- 0 - заменять в окне редактирования (как есть сейчас);
- 1 - вывести в панель Log-плагина;
- 2 - ну ещё можно было бы вывести в окошке InputBox, чтобы можно было сразу же скопировать. Но это необязательно, можно скопировать и из панели Log-плагина, только будет чуть больше действий.
Как-то так :)

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

LonerD wrote:1. Если в Akelpad включена опция "Left click on margin select line", то курсор помещается на строку ниже перед первым символом. Пожелание - не обрабатывать эту строку.
Add 16 to manual parameter MouseOptions:
16 - Triple click and left margin click selects line without newline character(s).

Offline
Posts: 171
Joined: Thu Dec 01, 2011 11:15 pm
Location: Россия

Post by LonerD »

KDJ
Я знаю про эту настройку, но мне удобней значение 79.
В то же время желательно, чтобы при дублировании строк последний перенос строки не был задействован.

---------------------------------

Скорее всего, отловил причины моих крахов Акелпада.
Я использую плагин autoSaveSession.js с настройками
CmdLineBegin=/Call("Scripts::Main", 1, "autoSaveSession.js", `-startupDelay=2000 -minDelay=12000 -session="OnExit"`)
Видимо, этот плагин и вызывает крахи.
Воспроизвести - легче всего с использование плагина RenameFileDialog.js Вот такая команда вызывает крах Тотала через раз:
"Переименование файла" Call("Scripts::Main", 1, "RenameFileDialog.js", `-ext=1`)
Особенно если переименовывать какой-нибудь js-файл (видимо, из-за того, что задействуется подсветка синтаксиса)

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

Post by VladSh »

2-я (надеюсь, что последняя серьёзная) порция изменений по tidy.js.

Что было сделано:
- возможность перезадания путей через tidy.ini (предложение от Lenchik);
- добавлены проверки на валидность путей.
Skif_off wrote:> 3.
У меня не всегда (закономерность не уловил), к тому же вроде в документации не оговаривается и в готовых конфигах вроде не видел.
В архиве с tidy идёт index.html, это я из примера, который там есть, взял.
Skif_off wrote:

Reformat only
Default Configuration
Clean Document - wrap
Clean Document - nowrap
Clean Document - nowrap, no indent
Clean Microsoft Word 2000 document
Clean Document - quote
Upgrade to CSS
Convert to XML
Convert to XHTML
XML reformat]
Check Only

attributes to lowercase
attributes to uppercase
tags to lowercase
tags to uppercase
Можно ли эти "шаблоны" вытянуть и положить где-то здесь, чтобы весь народ пользовался?

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

LinesSelectCopyMoveDuplicate.js
Added: parameter DL - duplicate individual lines.

Offline
Posts: 171
Joined: Thu Dec 01, 2011 11:15 pm
Location: Россия

Post by LonerD »

KDJ
Спасибо.

В этом скрипте или Акелпаде есть визуальный баг - после работы скрипта мигающий курсор отрисовывает в неправильном месте (это исправляется если свернуть окно или провести поверх другим окном).

Может, кто-то подскажет способ модифицировать скрипт LinesSelectCopyMoveDuplicate.js, чтобы при наличии выделения если курсор находится в начале строки (перед первым символом строки), то исключать эту строку из обработки; а если нет выделения - то обрабатывать эту единственную строку.
Locked