Instructor
I will try to do it. Thanks for the example.
It seems to me, that if _X64, offsetof(AEMARKTEXTITEMW, pMarkText) is equal to 24, not 20.
Is there any function to check the correctness of a regular expression?
Instructor
Возможно ли добавить в OpenSaveMask.js диалог выбора файла и диалог выбора каталога для сохранения? Или хотя бы открытие. Например с ключами -OpenList=1 и -SaveDir=1. Хотел воткнуть FileDialog из InsertFile.js, только что-то не соображу, как нужно обработать параметры.
Posted: Mon Aug 18, 2014 6:27 am
by Instructor
KDJ wrote:It seems to me, that if _X64, offsetof(AEMARKTEXTITEMW, pMarkText) is equal to 24, not 20.
Corrected.
Is there any function to check the correctness of a regular expression?
Instructor
Нет, это не то, по сути получается, что мне нужна часть функционала плагина Sessions, создать список файлов проще и быстрее, чем ту же пачку файлов сначала открыть (да и плагин включаю только при необходимости).
В общем, беру просьбу взад, есть пара идей, к тому же, сразу не вспомнил: самый простой - %a и OpenFile() из ContextMenu, будет просто два пункта меню, а не один (у меня так прикручен переименованный и немного модифицированный replaceDiacriticLetters.js от Infocatcher, существенно ускоряет поиск/замену, правда, не запустишь для всех вкладок сразу, как в случае с 4161, но пока и не требовалось)
Thank you very much. Very usefull function.
The offset values for _X64 I calculated myself.
I think, this function should be in Scripts plugin as AkelPad method.
Posted: Mon Aug 18, 2014 9:45 pm
by Skif_off
Infocatcher
Подскажите, пожалуйста, в какое место нужно добавить вызов скриптов после вставки текста (выделенное или весь файл)?
Получается как-то
Только если изменения будут касаться не только пробельных символов, то сломается восстановления позиции каретки (если отсутствовало выделение и -onlySelected=false или не передается).
Posted: Thu Aug 21, 2014 2:23 pm
by Skif_off
Infocatcher
Спасибо, как-то даже неловко Эта доработка не вылезет боком? Выглядит интересно.
С AkelPad.CallW после insertNoScroll() (точнее - setSyntax(syntax.value)) вроде срабатывает, только заменил "`" на "'".
Так понятнее пока: не силен в JS, в случае вспомогательного скрипта придется разбираться с .replace, ну и со строками замены ($) у меня пока пробелы.
Про ограничение: пока не могу оценить, обычно если есть <binary></binary>, то безусловно выделение до предыдущего закрывающего тэга, а в чем еще всплывет необходимость не могу предположить.
Posted: Mon Aug 25, 2014 6:19 am
by Infocatcher
Skif_off wrote:Спасибо, как-то даже неловко Эта доработка не вылезет боком? Выглядит интересно.
Вряд ли, подключать скрипт через AkelPad.Include() можно было уже давно, я только завернул стандартную обработку в функцию.
Да, про AkelPad.CallW/Call. Я так понимаю, все-таки лучше AkelPad.Call(), а AkelPad уже сам будет использовать юникодные строки, если система их поддерживает. Другое дело, что я сомневаюсь, что скрипт вообще запустится на Win 98 (какая там версия JScript?).
Skif_off wrote:Про ограничение: пока не могу оценить, обычно если есть <binary></binary>, то безусловно выделение до предыдущего закрывающего тэга, а в чем еще всплывет необходимость не могу предположить.
Ну, если после вставки вызываются сторонние скрипты, то положение выделения уже на их совести.
И потом, наверное, лучше вот так (у меня иногда падало, если выставить синтаксическую тему до вставки):
if(!AkelPad.Include("..\\jsBeautifier.js"))
WScript.Quit();
var _insertNoScrollOrig = insertNoScroll;
insertNoScroll = function(str, selectAll, caretPos) {
var ret = _insertNoScrollOrig.apply(this, arguments);
AkelPad.Call("Scripts::Main", 1, "Multi_SR.js", ...);
...
return ret;
};
handleArgs();
Posted: Fri Aug 29, 2014 11:10 am
by yozhic
Infocatcher
Не могли бы прикрутить хотелку к скрипту winMergeTabs.js?
Возможность прервать работу скрипта, если случайно нажал кнопку. То есть пока мигает Select Tab! в строке состояния, чтобы можно было нажать Esc (например) и остановить выполнение скрипта. Сейчас в этот момент по Esc закрывается окно Akel' я.
Добавлено:
Ааа, кажется разобрался. Повторное нажатие на кнопку останавливает скрипт...
Posted: Fri Aug 29, 2014 1:02 pm
by Infocatcher
yozhic wrote:winMergeTabs.js
[...]
Повторное нажатие на кнопку останавливает скрипт...
Угу.
И я не уверен, что можно <del>малой кровью</del> малым кодом перехватить Esc.
И можно сделать индикацию нажатости у кнопки: