Scripts discussion (4)
- Author
- Message
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
jsBeautifier.js v. 0.3.1 - 2022-08-02
[*] Updated sources from https://beautifier.io/.
[x] Fixed all known WSH-related bugs caused by JScript limitations.
[*] Now used -keepIndentation argument instead of -keepCSSIndentation (and also restored behavior of 0.2.9 and older versions).
[*] Updated sources from https://beautifier.io/.
[x] Fixed all known WSH-related bugs caused by JScript limitations.
[*] Now used -keepIndentation argument instead of -keepCSSIndentation (and also restored behavior of 0.2.9 and older versions).
Last edited by Infocatcher on Wed Aug 03, 2022 7:04 pm, edited 1 time in total.
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
measuresConverter.js v. 0.2.10 - 2022-08-03
[x] Fixed fxexchangerate.com and exchange-rates.org usage.
[x] Fixed Bitcoin (BTC), switch from bitcoincharts.com to currency.world.
[+] Added currencies white list, see -currencies argument, Ctrl+Shift+F hotkey.
[+] Added Ethereum (ETH) from currency.world.
[x] Fixed Belarusian Ruble: BYR -> BYN.
[x] Fixed Venezuelan Bolivar: VEF -> VES.
[+] Added self-update ability for built-in default currencies list (-updateSelf argument, use at your own risk).
[*] Improved window title: also show updates.
[x] Fixed hotkeys in x64 AkelPad, thanks to AlexeyB.
[x] Fixed fxexchangerate.com and exchange-rates.org usage.
[x] Fixed Bitcoin (BTC), switch from bitcoincharts.com to currency.world.
[+] Added currencies white list, see -currencies argument, Ctrl+Shift+F hotkey.
[+] Added Ethereum (ETH) from currency.world.
[x] Fixed Belarusian Ruble: BYR -> BYN.
[x] Fixed Venezuelan Bolivar: VEF -> VES.
[+] Added self-update ability for built-in default currencies list (-updateSelf argument, use at your own risk).
[*] Improved window title: also show updates.
[x] Fixed hotkeys in x64 AkelPad, thanks to AlexeyB.
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
toggleComments.js v. 0.4.4.1 - 2022-10-01
[*] Increased excludes performance: used faster way to repeat string.
[*] Improve performance of *.js preprocessing.
[*] Additional options was moved from toggleComments-options.js to toggleComments-options.jsm (to not show in scripts list).
[+] Added support for AWK, Lua and PowerShell, thanks to DV (#13).
[*] Increased excludes performance: used faster way to repeat string.
[*] Improve performance of *.js preprocessing.
[*] Additional options was moved from toggleComments-options.js to toggleComments-options.jsm (to not show in scripts list).
[+] Added support for AWK, Lua and PowerShell, thanks to DV (#13).
-
Offline
- Posts: 5
- Joined: Tue Jan 10, 2017 1:48 am
Предложения по goToLongestLine.js
Infocatcher
Предложения по goToLongestLine.js
1) Явно не помешала бы кнопка "C начала" (как в диалоге поиска) и соответствующий аргумент, типа "-reverse= ". Тогда можно было бы создать на тулбаре кнопку для тихого (и без гаданий "Вниз" или "Вверх") перехода к искомой строке.
2) Информацию о том, что "Ограничение по времени: 0мс" является снятием ограничения по времени (попробуй, догадайся!), нужно бы разместить в окне диалога, типа "0 - без ограничения".
Да и предупреждения "Вы уверены, что хотите отключить ограничение по времени?" и "Ограничение по времени слишком велико (##:## мин)
Все равно продолжить?" должны быть опционально отключаемыми (задалбливают!), типа "Больше не спрашивать".
И вообще (как для меня), ограничение по времени - это лишнее: если уж человек задался целью - подождет, а надоест ждать - отменит сам. (Например, я ипользую скрипт для файлов по 150-200тыс. строк, где ищу строки с более 1млн. символов. И при настройке "0мс" время работы скрипта вполне приемлемо). Назначение скрипта (как для меня) - именно отыскать самую длинную строку, а не отыскать строку, которая окажется самой длинной на момент искусственного прерывания поиска. Что толку в результате "Самая длинная строка, найденная за 400мс поиска"?
3) Нелишней была бы полоса "Прогресс поиска" в окне диалога.
(Пользуюсь скриптом второй день. Исключительно полезен!)
Предложения по goToLongestLine.js
1) Явно не помешала бы кнопка "C начала" (как в диалоге поиска) и соответствующий аргумент, типа "-reverse= ". Тогда можно было бы создать на тулбаре кнопку для тихого (и без гаданий "Вниз" или "Вверх") перехода к искомой строке.
2) Информацию о том, что "Ограничение по времени: 0мс" является снятием ограничения по времени (попробуй, догадайся!), нужно бы разместить в окне диалога, типа "0 - без ограничения".
Да и предупреждения "Вы уверены, что хотите отключить ограничение по времени?" и "Ограничение по времени слишком велико (##:## мин)
Все равно продолжить?" должны быть опционально отключаемыми (задалбливают!), типа "Больше не спрашивать".
И вообще (как для меня), ограничение по времени - это лишнее: если уж человек задался целью - подождет, а надоест ждать - отменит сам. (Например, я ипользую скрипт для файлов по 150-200тыс. строк, где ищу строки с более 1млн. символов. И при настройке "0мс" время работы скрипта вполне приемлемо). Назначение скрипта (как для меня) - именно отыскать самую длинную строку, а не отыскать строку, которая окажется самой длинной на момент искусственного прерывания поиска. Что толку в результате "Самая длинная строка, найденная за 400мс поиска"?
3) Нелишней была бы полоса "Прогресс поиска" в окне диалога.
(Пользуюсь скриптом второй день. Исключительно полезен!)
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
langlois
Тестовая: https://github.com/Infocatcher/AkelPad_ ... estLine.js -> goToLongestLine.js v. 0.4.0pre - 2022-11-13
Изменения: https://github.com/Infocatcher/AkelPad_ ... estLine.js
1) Добавил «С начала» в виде галочки. Разница между Вниз и Вверх будет только на больших файлах и только с лимитом времени.
2) С 0 мс переделал в виде галочки, включающей ограничение, но это только внешнее, в виде аргумента надо передавать 0 или число миллисекунд. По предупреждениям добавил, чтобы запоминалось предыдущее подтвержденное значение, если не менять настройки – спрашивать повторно не будет.
3) С прогрессом сложно, окошки подвисают, надо или как-то посылать сообщения для перерисовки, но у меня не получилось, или переделывать логику, чтобы можно было продолжить с какого-то ранее начатого состояния.
Тестовая: https://github.com/Infocatcher/AkelPad_ ... estLine.js -> goToLongestLine.js v. 0.4.0pre - 2022-11-13
Изменения: https://github.com/Infocatcher/AkelPad_ ... estLine.js
1) Добавил «С начала» в виде галочки. Разница между Вниз и Вверх будет только на больших файлах и только с лимитом времени.
2) С 0 мс переделал в виде галочки, включающей ограничение, но это только внешнее, в виде аргумента надо передавать 0 или число миллисекунд. По предупреждениям добавил, чтобы запоминалось предыдущее подтвержденное значение, если не менять настройки – спрашивать повторно не будет.
3) С прогрессом сложно, окошки подвисают, надо или как-то посылать сообщения для перерисовки, но у меня не получилось, или переделывать логику, чтобы можно было продолжить с какого-то ранее начатого состояния.
-
Offline
- Posts: 276
- Joined: Mon Jun 20, 2011 8:33 am
- Location: Электросталь
Пожалуйста, не мог бы кто-нибудь подправить (если это вообще возможно) скрипт MultiClipboard.js, чтобы он работал с Unicode (имею в виду символы языка, отличающегося от латиницы и языка локали)?
В системной настройке "Language for non-Unicode programs" у меня выставлено Russian. А клавиатурных раскладок несколько, помимо английской и русской есть и другие. Так вот после применения Multiclipboard.js символы других раскладок сохраняются в вопросительных знаках. Если включить новую системную настройку "Beta: Use Unicode UTF-8 for worldwide language support", то Multiclipboard.js начинает работать корректно, но зато во множестве других программ проявляются проблемы. Налицо: скрипт использует системную ф-цию, зависящую от локали. Но может возможно немного подправить алгоритм?
В системной настройке "Language for non-Unicode programs" у меня выставлено Russian. А клавиатурных раскладок несколько, помимо английской и русской есть и другие. Так вот после применения Multiclipboard.js символы других раскладок сохраняются в вопросительных знаках. Если включить новую системную настройку "Beta: Use Unicode UTF-8 for worldwide language support", то Multiclipboard.js начинает работать корректно, но зато во множестве других программ проявляются проблемы. Налицо: скрипт использует системную ф-цию, зависящую от локали. Но может возможно немного подправить алгоритм?
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
Возможно, это особенность работы AkelPad.GetClipboardText()/AkelPad.SetClipboardText() и подправлять надо реализацию работы с буфером в плагине Scripts.yozhic wrote:Пожалуйста, не мог бы кто-нибудь подправить (если это вообще возможно) скрипт MultiClipboard.js, чтобы он работал с Unicode (имею в виду символы языка, отличающегося от латиницы и языка локали)?
Там даже некие следы насчет Unicode прослеживаются:
Но для начала можно попробовать заменить в скрипте
Code: Select all
var pClipboardText=AkelPad.GetClipboardText();
Code: Select all
var pClipboardText=AkelPad.GetClipboardText(true);
-
Offline
- Posts: 276
- Joined: Mon Jun 20, 2011 8:33 am
- Location: Электросталь
-
Offline
- Posts: 17
- Joined: Wed Feb 16, 2022 2:25 pm
Infocatcher
Скрипт toggleComments.js в PHP-файлах ищет регионы <?php .. ?> и <? .. ?>, внутри которых используются комментарии в стиле C. Вне этих регионов используются HTML-комментарии. Но синтаксис PHP позволяет не закрывать последний тег. И в этом случае скрипт работает неправильно, комментируя PHP-код как HTML.
Скрипт toggleComments.js в PHP-файлах ищет регионы <?php .. ?> и <? .. ?>, внутри которых используются комментарии в стиле C. Вне этих регионов используются HTML-комментарии. Но синтаксис PHP позволяет не закрывать последний тег. И в этом случае скрипт работает неправильно, комментируя PHP-код как HTML.
Code: Select all
<?
echo 'Hello comment.'; // Эта строка закомментируется неправильно
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
Добавил новый флаг canOmitEnd, если не найдется "?>", то за окончание региона будет взят конец документа:AlexeyB wrote:Но синтаксис PHP позволяет не закрывать последний тег. И в этом случае скрипт работает неправильно, комментируя PHP-код как HTML.
https://github.com/Infocatcher/AkelPad_ ... 86dae448f2
Не переключится на PHP в случае
Но тут, я думаю, и не должно работать, два открытия подряд.<?
echo 'Hello comment.'; // Эта строка закомментируется неправильно
<?
-
Offline
- Posts: 4
- Joined: Sat Dec 21, 2019 1:32 am
Быстрое копирование пароля и т.п.
Есть скрипт для быстрого копирования слова на котором установлена каретка: WordCopy.js, а есть ли подобный, в котором могут быть прописаны собственные разделители для определения начала и конца слова? Нужно для копирования слов, содержащих символы, которые в программе указаны разделителями.
_____Добавлено_____
Пытался сделать методом поиска с регулярными выражениями таким образом: Но оказалось что "\s" и "\S" не воспринимаются символами рег. выражений — находит буквы "s". Попробовал использоывть в качестве разделителя "[ \f\n\r\t]" — уже лучше, стали находится пробелы и табуляции, но переводы строк пропускаются.
А вот через внешний вызов метода всё прекрасно работает: + В чём секрет?
_____Добавлено_____
А ларчик просто открывался — с двумя обратными слэшами заработало. Выделяет и копирует область (где установлена каретка) между любыми пробельными символами.
_____Добавлено_____
Пытался сделать методом поиска с регулярными выражениями таким образом:
Code: Select all
AkelPad.TextFind(0, "\s", 0x180000 /*FRF_UP|FRF_REGEXP*/); // Найти разделитель слева-вверх
AkelPad.TextFind(0, "\S+?", 0x80001 /*FRF_DOWN|FRF_REGEXP*/); // Найти блок до разделителя вправо-вниз
AkelPad.Command(4154) // Скопировать
А вот через внешний вызов метода всё прекрасно работает:
Code: Select all
Call("Scripts::Main", 7, `AkelPad.TextFind(0, "\A|\s", 0x180000 /*FRF_UP|FRF_REGEXP*/)`)
Code: Select all
Call("Scripts::Main", 7, `AkelPad.TextFind(0, "\S+?", 0x80001 /*FRF_DOWN|FRF_REGEXP*/)`)
_____Добавлено_____
А ларчик просто открывался — с двумя обратными слэшами заработало.
Code: Select all
AkelPad.TextFind(0, "\\A|\\s", 0x180000 /*FRF_UP|FRF_REGEXP*/); // Найти разделитель слева-вверх
AkelPad.TextFind(0, "\\S+?", 0x80001 /*FRF_DOWN|FRF_REGEXP*/); // Найти блок до разделителя вправо-вниз
AkelPad.Command(4154) // Скопировать