Scripts discussion (4)

Discuss and announce AkelPad plugins
  • Author
  • Message
DV
Offline
Posts: 1291
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

CommandPalette.js
Версия 0.6.1:
- теперь скрипт может использовать как ListBox, так и ListView для отображения списка команд. Это регулирется значением UseListView в коде скрипта.
- пока что ListView не подкрашивает части команд, совпадающие с фильтром. Времени не хватает разобраться с тем, как это сделать.

Offline
Posts: 348
Joined: Mon Jun 03, 2019 2:33 am

Post by AZJIO »

Есть скрипт CodePoster.js экспортирующий документ с подсветкой. Я сделал au3-скрипт, чтобы все явные цвета отправить в css-файл.
Скачать (EXE+AU3-исходник)

То есть буфер омена обрабатывается дополнительно и возвращается туда же обработанный веб-контент.

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

moveResizeWindow.js
[*] Force exit from Windows 7+ docked to half screen state (looks like there is no API to detect…)
[+] Move to N% of work area.

Offline
Posts: 278
Joined: Mon Jun 20, 2011 8:33 am
Location: Электросталь

Post by yozhic »

Друзья, не сохранились ли у кого библиотеки Win32 Constants Library от FeyFre? По ссылке из поста 404.

Offline
Posts: 348
Joined: Mon Jun 03, 2019 2:33 am

Post by AZJIO »

yozhic
как вариант я ищу конcтанты в интернете запросом "имя_константы=0x", или в PureBasic вызываю "Debug #имя_константы" или поиск по скриптам "AutoIt3\Include" или поиск в код-архивах (js, pb, au3).

Offline
Posts: 176
Joined: Sat Dec 24, 2011 4:05 pm

Post by F. Phoenix »

KDJ, could you please add support for culture-specific decimal separator in CalculatorJS script?

For example, add -culture argument:
-culture=invariant (English separator only i.e. dot)
-culture=auto (English + depends of system settings)
-culture=ru (both English (dot) and Russian (comma) separators)
...
  • In Windows 7 this setting accessible next way:
    Control Panel - Region and Language - Additional settings... - Decimal symbol
  • In case AkelPad can be used for both programming and non-programming purposes, it's more handy to always keep support English separator additionaly to culture-specific.
  • Currently, to separate variable definition can be used both semicolon or comma, but only comma can be used to separate arguments of functions. It is possible to make both symbols to separate arguments (same as definitions) if it is not used as decimal delimiter, otherways only unused one (i.e. semicolor for Russian).

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

yozhic wrote:Друзья, не сохранились ли у кого библиотеки Win32 Constants Library от FeyFre? По ссылке из поста 404.
Win32_Constants_Library_by_FeyFre.zip

Offline
Posts: 278
Joined: Mon Jun 20, 2011 8:33 am
Location: Электросталь

Post by yozhic »

Infocatcher
Большое спасибо.

AZJIO
Уже засел было разбираться, но тут архив подоспел. Спасибо за дельный совет.

Update:
Ах, вот же ж, на github'е репозиторий! :oops: Вчера искал там по имени FeyFre, а не заметил в результатах поиска вкладки Users, и потому не нашёл ничего. Прошу прощения за беспокойство.

Offline
Posts: 348
Joined: Mon Jun 03, 2019 2:33 am

Post by AZJIO »

В LiveCD не работают скрипты, надо видимо разобраться, какие wsh-библиотеки зарегистрировать.

В общем так:

Code: Select all

@Echo Off
regsvr32.exe /s "X:\Windows\System32\wshext.dll">Nul
regsvr32.exe /s "X:\Windows\System32\wshelper.dll">Nul
regsvr32.exe /s "X:\Windows\System32\wshcon.dll">Nul
regsvr32.exe /s "X:\Windows\System32\wshom.ocx">Nul
regsvr32.exe /s "X:\Windows\SysWOW64\wshext.dll">Nul
regsvr32.exe /s "X:\Windows\SysWOW64\wshcon.dll">Nul
Но мне хватило wshext.dll

Offline
Posts: 39
Joined: Thu Aug 20, 2020 11:19 am

Post by texter »

Всем Привет и Спасибо за редактор!

На форуме не мог найти такой фичи и не знал куда запостить, поэтому запостил сюда свой эксперимент и может быть кому-нибудь пригодится...

akel.bat почти как subl.exe для sublime text, только для удобного открытия файлов/директории из командной строки:

Code: Select all

akel File.txt
или:

Code: Select all

akel File1.txt File2.txt
или отрыть в Explorer::Main текущую директорию:

Code: Select all

akel . 
а ещё можно сделать и то и другое:

Code: Select all

akel . File1.txt File2.txt

Code: Select all

@echo off
setlocal enableDelayedExpansion

set "cur_path=%~d1%~p1%~n1"
set esc_path=%cur_path:\=\\%

start AkelPad.exe /Show(3)

:loop
start AkelPad.exe /If(`Call("Scripts::Main",4,"EvalCmd.js",'if("%~1"===".")AkelPad.ScriptExitCode(1)')`, `/Call("Scripts::Main",4,"EvalCmd.js",'AkelPad.Call("Explorer::Main",1,"%esc_path%")')`, `/OpenFile("%~1")`)
shift
if not "%~1"=="" goto loop



P.s.: Тестировал на Windows 10. Скрипт будет работать, если разрешён только один инстанс...
Чтобы akel.bat работал где угодно - нужно добавить путь скрипта в Path (переменную окружения). Чтобы окно не максимизировалось - нужно убрать /Show(3) из скрипта.

Offline
Posts: 348
Joined: Mon Jun 03, 2019 2:33 am

Post by AZJIO »

Закрыть вкладки по расширению - готовый вариант

Обновлено: добавлена сортировка по числу


Кто бы сделал скрипт "Закрыть вкладки по расширению", но желательно чтобы его не вводить ручками, а получить в виде списка ListBox типа pb, html, js, css, au3, coder и даже слева от расширения указать число файлов этого расширения, то есть будет понятно сколько файлов закроется. У меня часто вкладки не закрыты и накапливается 3 десятка, может больше, но как только меня начинает доставать скорость запуска я просто закрываю все вкладки. Но есть разделение некоторое время назад я редактировал файлы PureBasic, потом веб-страницы, потом txt, то кодеры подправлял, то js-скрипты, и можно было бы закрыть веб-страницы, зная что к ним я не скоро вернусь, а если и вернусь то не к тем что открыты. А если закрыть те что слева, то потом некоторые слева могут понадобится, например если открыт хот один js-скрипт, то я через его вкладку открываю папку скрипта и редактирую другие скрипты, аналогично бывает и с PureBasic.

Offline
Posts: 348
Joined: Mon Jun 03, 2019 2:33 am

Post by AZJIO »

toggleComments.js при комментировании в определённом js-файле 27 секунд напрягает процессор на максимум, потом всё таки закомментирует 3 строки. В файле 187 строк. Укоротил файл в двое стал 3 секунды грузить проц., с второй частью файла работает мгновенно, укоротил ещё вдвое, обе части работают почти мгновенно. Другой файл на 200 и более строк не имеет проблему.

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

AZJIO wrote:toggleComments.js при комментировании в определённом js-файле 27 секунд напрягает процессор на максимум, потом всё таки закомментирует 3 строки.
Это старая проблема, связанная с попыткой исключения из обработки регулярных выражений (например, чтобы не считало штуки типа /.*/ закрытием комментария).
С -checkSyntax=1 будет работать быстро, но без поддержки литералов регулярных выражений.
Вот, собственно, тормозящий код:
https://github.com/Infocatcher/AkelPad_ ... #L174-L192
Подвисать начинает при попытке поиска и исключения закомментированного кода перед открывающей / регулярного выражения.
С полноценным [\s\S]*? вместо [\s\S]{0,120}? для содержимого /* … */ зависало еще чаще…
А в примере слишком много //… строк подряд.
Подправил, добавил еще одно ограничение: https://github.com/Infocatcher/AkelPad_ ... 3b28d41343

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

Infocatcher
А я правильно понимаю, что в "не подправленной" версии проблемы с быстродействием можно также избежать установкой аргумента "-method=" отличного от нуля? Держу два вызова (установить/снять) вместо одного toggle и всегда быстро работает.
AZJIO
Мои поздравления вашему процессору. Мой отрабатывает представленный образец минуты по 3-4 (с дефолтным вызовом).

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

opk44 wrote:А я правильно понимаю, что в "не подправленной" версии проблемы с быстродействием можно также избежать установкой аргумента "-method=" отличного от нуля? Держу два вызова (установить/снять) вместо одного toggle и всегда быстро работает.
В какой-то мере – да.
Но только за счет визуального контроля: если вызвать раскомментирование на незакомментированном коде, то тоже зависнет – начнет искать блочные комментарии (и пытаться игнорировать регулярные выражения).
Post Reply