.
I have a lot of scripts that alter text, etc. - but none of them require parameters. So all of these are just listed in the scripts dialog and I either hit [Execute] or use hotkeys to run them.
I want to minimize all MDI window tabs at once, so I think I would like to execute:
But I don't know how or where to actually "run" a script like this that has these -cmd parameters. Help?
Ah! It seems that I need another script to be able to call scripts that need parameters. So I made a test.js script to call RunScriptOnTabs.js, but I cannot get the parameters correct for that call:
var nResult=AkelPad.Call("Scripts::Main", 1, "RunScriptOnTabs.js", '-cmd="TabMinMax.js" -par="-" -tab=2');
TabMinMax.js exists in the Scripts directory with RunScriptOnTabs.js, but I get an error:
"Script does not exist: TabMinMax.js"
I even tried using the fullpath for the TabMinMax.js script, but still got that error. Any idea what I am doing wrong in the call?
-------------------------
Ok... figured it out... my second call above had the correct parameters - but I had renamed the TabMinMax.js file while testing... named it correctly and now all of my MDI windows get minimized by the script!
-------------------------
.
Posted: Wed Jun 20, 2018 12:00 pm
by yozhic
KDJ
Здравствуйте! Вы не могли бы добавить в скрипт TextReplace.js возможность экспорта истории замен в текстовый файл? Это пригодилось бы для создания списков замен (batch replace). Если считаете, что такая возможность в скрипте не нужна, то тогда подскажите, пожалуйста, где скрипт хранит историю замен. Я самостоятельно не смог найти
Posted: Sat Jun 30, 2018 11:42 am
by KDJ
yozhic
The history is saved in ini file (TextReplace.ini), parameter aHist.
aHist is a two dimentional array.
Each element of this array contains an array with three strings: FindIt, ReplaceWith and Flags.
Eskander88
Ничего не делает, это готовая функция, позволяющая отправлять сообщение WM_COPYDATA (примеры использования, первое, что пришло в голову).
И не нужно задавать вопросы в этой теме, здесь коллекция, а вопросы - в Scripts discussion
Posted: Thu Oct 18, 2018 12:15 pm
by Eskander88
Skif_off wrote:Eskander88
И не нужно задавать вопросы в этой теме, здесь коллекция, а вопросы - в Scripts discussion
Так вы же дали ссылку на эту же ветку?!
Posted: Thu Oct 18, 2018 12:38 pm
by Eskander88
вопрос по jsBeautifier.js
Иногда неправильно парсит фрагменты кода. Баг возникает с некоторым кодом. Заключается в том, что некоторые закрывающие теги, которые находятся во фрагменте, не ставятся на необходимое место.
Вызов сочетанием клавиш CTRL + ALT + B
Команда Call("Scripts::Main", 1, "jsBeautifier.js", "-setSyntax=true")
Eskander88
Параметры запуска перечислены в комментариях в начале скрипта, там масса вариантов (к слову, если у -setSyntax и было значение true, то очень давно).
Skif_off
обновил, перепробовал разные параметры -setSyntax на всякий, всё также.. я так понимаю в вашей сборке данный баг отсутствует?
Posted: Fri Oct 19, 2018 10:14 am
by opk44
Eskander88
1. Данный "баг" таковым в полном смысле не является. Для сравнения, обратитесь к первоисточнику. На их сайте есть онлайн-режим форматирования. Результат там будет идентичен. Т. е. скрипт адаптирует первоисточник к AkelPad-у, и пока не будет изменена логика в первоисточнике, ждать изменений в адаптированной версии не следует. Так вижу.
2. Обратите внимание в предыдущем ответе на слово "Возможно". Оно там, по-видимому, ключевое. И сам ответ, он же не о баге в скрипте, а о баге в параметрах вызова скрипта у вас.
3. -setSyntax отвечает только за включение синтаксической темы (условно - "подсветку") самого AkelPad, а не за форматирование.
4. Нетрудно заметить, что форматирование ломается из-за пробела перед последним "</li>". Возможно (здесь это тоже ключевое слово), стоит подумать над неким "пре-бьютифайером", который бы чистил пробелы между тегами (вероятно и символы табуляции тоже).
unformatted (defaults to inline tags) - list of tags, that shouldn't be reformatted
Можно добавить к аргументам вызова
-unformattedTags=[]
opk44 wrote:Для сравнения, обратитесь к первоисточнику. На их сайте есть онлайн-режим форматирования. Результат там будет идентичен. Т. е. скрипт адаптирует первоисточник к AkelPad-у, и пока не будет изменена логика в первоисточнике, ждать изменений в адаптированной версии не следует.
Тут еще надо добавить про отставание от первоисточника: у меня пока не получилось завести последние правки из оригинала, упирается в отсутствие поддержки чего-то из новых версий JavaScript.
Posted: Sat Oct 20, 2018 8:06 am
by Eskander88
решил подглядеть в Atom, а там такая же история
Posted: Fri Oct 26, 2018 12:20 pm
by VladSh
Kley
Пару "косметических" предложений по SessionMenu.js:
1. Может быть добавить параметр, который принимал бы список имён сессий через определённый разделитель (к примеру, "#"), которые не отображать в общем меню. Лично я бы скрыл сессию OnExit, т.к., по моему, она в здесь бесполезна, - вряд ли имеет смысл её редактировать, а чтобы посмотреть пред. файлы есть список последних файлов; она только занимает место в меню.
2. Убрать лишний разделитель в меню - когда отсутствуют удалённые файлы, в меню отображается два разделителя. Скрывать лишний разделитель, при скрытии пункта меню "Удалить несуществующие".
KDJ
Здравствуйте! У меня к Вам просьба по скрипту FindReplaceFiles.js
Я периодически работаю с большими объемами текста в файлах, поиска в них словосочетаний. Ваш скрипт мне в этом очень помогает. Особенно замечательно, что можно нажать Ctrl+Enter и документ откроется в AkelPad, и искомое слово будет выделено (т.е. можно посмотреть контекст, а это для меня очень важно), а повторное нажатие Ctrl+Enter закрывает этот документ – это очень удобно! Но я никогда не знаю сколько раз встречается искомое слово в документе, и поэтому приходится из окна скрипта переключаться в окно AkelPad, при помощи других скриптов искать выделенное слово по всему документу, затем опять возвращаться в окно скрипта, закрывать текущий документ и переходить на следующий в списке. Это отнимает много времени. А когда используется regexp, то времени требуется еще больше, чтобы еще копировать regexp в окно AkelPad. Может быть можно как-то это автоматизировать прямо не выходя из окна FindReplaceFiles.js ?
Например, добавить колонку Matches с отображением количества совпадений, чтобы сразу было видно сколько их в документе, и если совпадение только одно, то не искать дополнительно другие несуществующие, а быстро переходить на другой документ. Приблизительно вот так (Photoshop):
Или, например, по Shift+Enter переходить к следующему совпадению в открытом документе. Это тоже было бы очень удобно: по Ctrl+Enter открываю документ, по Shift+Enter перелистываю все имеющиеся в нем совпадения, снова по Ctrl+Enter закрываю, и перехожу стрелкой к следующему документу. Красота!))
Может существует и другой способ...
Надеюсь, это не очень трудоемкая просьба и было бы замечательно, если бы Вы смогли откликнуться и чем-то в этом помочь. Спасибо.