Discuss and announce AkelPad plugins
Offline
Posts: 1949 Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland
Post
by KDJ » Fri May 01, 2015 5:31 pm
Instructor wrote: KDJ
Users
requested batch replace which
has EmEditor has EmEditor .
Similar functionality already implemented in
FindReplaceEx.js as templates.
Done:
FindReplaceEx.js
Added:
- batch replace,
- regular expressions verification.
Offline
Posts: 512 Joined: Sun Sep 15, 2013 8:25 am
Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
Post
by YuS » Sat May 02, 2015 8:45 am
FindReplaceEx_1049.lng FindReplaceEx_1049.lng
Code: Select all
/*********************************************
FindReplaceEx.js - ver. 2015-05-01
Interface language
Language: Russian (1049)
Translated by: F. Phoenix, Andrey_A_A, VladSh
*********************************************/
sTxtMore = 'Ещё';
sTxtCount = 'Подсчитать';
sTxtFindAll = 'Найти все';
sTxtBookmarkAll = 'Закладки на все';
sTxtUnmarkAll = 'Убрать закладки';
sTxtTemplates = 'Шаблоны';
sTxtBatches = 'Пакеты'; //new
sTxtWait = 'Подождите...';
sTxtTotalFound = 'Всего вхождений: ';
sTxtReplAllCD = '"Заменить всё" закрывает диалог';
sTxtReplAllWM = '"Заменить всё" без сообщения';
sTxtCheckInSel = 'Отметить "В выделении" если есть выделение';
sTxtCycleSearch = 'Поиск по кругу';
sTxtPrompt = 'Запрос';
sTxtFindWhat = 'Что найти';
sTxtReplaceWith = 'Чем заменить';
sTxtMatchCase = 'Учитывать регистр';
sTxtWholeWord = 'Слово целиком';
sTxtRegExp = 'Регулярные выражения';
sTxtEscSeq = 'Esc-последовательности';
sTxtNew = 'Создать';
sTxtAdd = 'Добавить';
sTxtRename = 'Изменить'; //new
sTxtRemove = 'Удалить';
sTxtToBatch = 'В пакет'; //new
sTxtOK = 'OK';
sTxtCheckRE = 'Проверить RegExp'; //new
sTxtClose = 'Закрыть';
sTxtMoveUp = 'Вверх'; //new
sTxtMoveDown = 'Вниз'; //new
sTxtBatchReplace = 'Заменить всё (пакетом)'; //new
sTxtTemplateName = 'Имя шаблона'; //new
sTxtNameInvalid = 'Неверное имя.'; //new
sTxtNameExists = 'Такое наименование шаблона уже используется.';
sTxtWantRemove = 'Вы действительно хотите удалить этот шаблон?';
sTxtBatchNumber = 'Пакет №'; //new
sTxtWantBatchRepl = 'Заменить всё этим пакетом?'; //new
sTxtNoFindText = 'Нет текста в поле "Что найти".'; //new
sTxtRegExpOK = 'Регулярное выражение правильное.'; //new
sTxtRegExpError = 'Ошибка в регулярном выражении.';
sHlpAnyChar = 'любой символ (точка)';
sHlpSpecChars = '()[]{}^$.?+*|\\ специальные символы';
sHlpFF = 'перевод страницы \\x0C';
sHlpAnyNL = 'перевод строки';
sHlpTab = 'табуляция \\x09';
sHlpVTab = 'вертикальная табуляция \\x0B';
sHlpDigit = 'цифра [0-9]';
sHlpNonDigit = 'не цифра [^0-9]';
sHlpWhiteSp = 'пробельный символ [ \\f\\n\\t\\v]';
sHlpNonWhiteSp = 'непробельный символ';
sHlpWordChar = 'словесный символ (non-delimiter)';
sHlpNonWordChar = 'несловесный символ (delimiter)';
sHlpCharHex = 'символ - код в диапазоне 0-10FFFF';
sHlpCharHex2 = 'символ - 2-значный код';
sHlpCharHex4 = 'символ - 4-значный код';
sHlpAlternative = 'одна из альтернатив: ab либо xy';
sHlpCharSet = 'набор символов, нужен любой из них';
sHlpNegCharSet = 'исключающий набор символов';
sHlpRange = 'диапазон символов от a до z';
sHlpNegRange = 'исключающий диапазон';
sHlpBeginLine = 'начало строки';
sHlpEndLine = 'конец строки';
sHlpBeginText = 'начало документа';
sHlpEndText = 'конец документа';
sHlpBeginRange = 'начало диапазона поиска';
sHlpEndRange = 'конец диапазона поиска';
sHlpWordBoun = 'граница слова';
sHlpNonWordBoun = 'не граница слова';
sHlpExcludePrev = 'исключить предыдущее из результата'; //new
sHlpZeroOrOne = '0 или 1 раз';
sHlpZeroOrMore = '0 или более раз';
sHlpOneOrMore = '1 или более раз';
sHlpExactly = 'ровно 3 раза';
sHlpAtLeast = 'не менее 3 раз';
sHlpFromTo = 'от 3 до 7 раз';
sHlpBackslash = 'обратный слеш';
sHlpNL = 'перевод строки';
sHlpEntireStr = 'вся захваченная строка';
sHlpSubmatch9 = '9я подстрока (диапазон 1-9)';
sHlpSubmatch99 = '99я подстрока (диапазон 01-99)';
sHlpGreedy = '- выше жадные квантификаторы ';
sHlpLazy = 'добавить для ленивого квантификатора';
sHlpPossesive = 'добавить для сверхжадного квантификатора';
sHlpCapture1 = 'запоминающая скобка';
sHlpCapture2 = 'соответствует негативному ab, захвату';
sHlpNotCapture = 'незапоминающая скобка';
sHlpAtomicGrouping = 'атомарная группа (незапоминающая)';
sHlpPreceded = 'строка следует за ab';
sHlpNotPreceded = 'строка не следует за ab';
sHlpFollowed = 'строка предшествует ab';
sHlpNotFollowed = 'строка не предшествует ab';
sHlpcondition = 'если (1) то x, иначе y';
sHlpBackrefer9 = 'обратная ссылка, диапазон 1-9';
sHlpBackrefer99 = 'обратная ссылка, диапазон 01-99';
sHlpIgnoreCase = 'не учитывать регистр символов';
sHlpMultiline = 'многострочный поиск (по умолчанию)';
sHlpDotDefault = 'точке соответствует любой символ (по умолчанию)';
sHlpInvertGreed = 'инвертировать жадность квантификаторов';
sHlpMatchCase = 'учитывать регистр символов';
sHlpMultilineOff = 'выключить многострочный поиск';
sHlpDotDefaultOff = 'точке соответствует любой символ, кроме \\n';
sHlpInvertGreedOff = 'отменить инвертирование жадности';
Offline
Posts: 1949 Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland
Post
by KDJ » Sat May 02, 2015 12:04 pm
YuS
Thanks for the translation.
FindReplaceEx.js
Added: Ctrl+(1-9) key - select batch number.
Changed: now column width in templates/batches list is fit to window width.
Fixed: "Batch replace all" button is enabled if AkelPad document is marked as read only.
Updated: Russian translation by
YuS .
TextMarker.js
Updated: Russian translation by
YuS .
Offline
Posts: 202 Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia
Post
by Kley » Sat May 02, 2015 12:50 pm
KDJ
Скажите пожалуйста, а почему в диалоге "Templates/Batches" текстовые поля (IDWHATE, IDWITHE) не имеют всплывающего меню?
Так надо? Это ж не удобно, по-моему.
google translation: google translation:
Tell me please, why in the dialogue "Templates / Batches" text fields (IDWHATE, IDWITHE) do not have a pop-up menu?
So it is necessary? It isn't convenient, in my opinion.
Offline
Posts: 1949 Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland
Post
by KDJ » Sat May 02, 2015 1:09 pm
Kley
Because these are not standard "EDIT" controls. I have used "AkelEdit" class for them.
Offline
Posts: 202 Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia
Post
by Kley » Sat May 02, 2015 3:54 pm
Ok
Thank you.
Offline
Posts: 1949 Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland
Post
by KDJ » Sat May 02, 2015 9:54 pm
Kley
"AkelEdit" control has much more features than simple "EDIT", eg.:
- multiple undo/redo (Ctrl+Z/Ctrl+Shift+Z),
- changing insert character mode (Ins key).
And context menu can be done.
Offline
Posts: 512 Joined: Sun Sep 15, 2013 8:25 am
Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
Post
by YuS » Sun May 03, 2015 5:07 am
KDJ wrote: YuS
Thanks for the translation.
Это Вам, спасибо, а также автору AP и всем авторам скриптов, поддерживающим такой замечательный редактор!
А перевод - дело не такое уж и сложное, всегда рад помочь.
This is for you, thank, as well as the author of the AP and all the creators of scripts supporting such a wonderful editor!
A translation - it's not so difficult, always glad to help.
Offline
Posts: 202 Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia
Post
by Kley » Sun May 03, 2015 7:10 am
KDJ wrote: And context menu can be done.
Спасибо. Уже сделал
Offline
Site Admin
Posts: 6311 Joined: Thu Jul 06, 2006 7:20 am
Post
by Instructor » Sun May 03, 2015 10:56 am
Nice work!
Suggestion:
- If "Replace all" without message not set, "Batch replace all" show replace message once (with using AkelPad.TextReplace).
Offline
Posts: 512 Joined: Sun Sep 15, 2013 8:25 am
Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
Post
by YuS » Sun May 03, 2015 11:57 am
Instructor wrote:
- If "Replace all" without message not set, "Batch replace all" ...
Кстати, в таком варианте нажатие на "Заменить всё (пакетом)" вызывает зависание AP сразу же после появления сообщения...
Win 7 x64, AP x64
Offline
Posts: 202 Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia
Post
by Kley » Sun May 03, 2015 4:21 pm
KDJ
Сохраненные шаблоны (поля: "что:", "чем:") нельзя менять без кнопки, например: "Сохранить".
imho, автоматическое сохранение при закрытии диалога - плохо.
Offline
Posts: 1949 Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland
Post
by KDJ » Tue May 05, 2015 7:10 pm
FindReplaceEx.js
Added:
- parameters -FRE and -BR (see in the script description),
- context menu for edit controls in "Templates/Batches" dialog.
Fixed:
- on Win7 AkelPad hangs after pressing 'Batch replace all' if '"Replace all" without message' is not set.
Offline
Posts: 202 Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia
Post
by Kley » Tue May 05, 2015 8:12 pm
KDJ
Дааа... Снимаю перед вами шляпу. Скрипт грандиозный!
И все же, хочу еще немного понудить (подействовать вам на нервы).
Почему, после использования диалога "Templates/Batches", в Диалоге поиска (Command(4158)) меняются настройки?
Все CheckBox сбрасываются в ноль, но устанавливается флаг в "Регулярные выражения".
Offline
Posts: 1949 Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland
Post
by KDJ » Wed May 06, 2015 7:43 pm
Kley
Because this script does not create its own "Find" dialog box, but uses the original, built-in AkelPad "Find" dialog (Command(4158)).