Scripts discussion (3)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Можно ли юзать RegExpTestJS.js для теста вообще, а не только JavaScript?
В JavaScript синтаксис вроде PCRE.

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

kadvlad wrote:Не удается прочитать файл "D:\AkelFiles\piugs\Scripts\SaveAs.js"
Опишите пожалуйста подробнее как воспроизвести, я поправлю скрипт.

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

VladSh
Посмотрите, пожалуйста, заодно HTMLTidy.js и ShowMenuEx.js:
такой HTMLTidy.param

Code: Select all

HTMLreformat.cfg
XMLreformat.cfg
работает, а с разделителем

Code: Select all

HTMLreformat.cfg = HTML TiDy
XMLreformat.cfg = XML TiDy
иногда срабатывает, но обычно нет. Или я что-то не так сделал. Тут просто файлы переименовал наглядно, но на всякий случай :)

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

kadvlad
Изменения в:
CommonFunctions.js - исправлен баг, когда при сохранении вместо расширения по редактируемому файлу всегда подставлялось txt.
SaveAs.js - можно задавать вариант использования выделенного текста и т.п. См. описание в скрипте, - способ их задания тоже изменился.
Описанный Вами баг я так и не смог воспроизвести.

Skif_off
В HTMLTidy.js в вызове getSelectedMenuItem жёстко забит 2-й параметр ("").
Для того, чтобы производился разбор через =, его ("=") надо бы в скрипте передавать... Но сейчас скрипты форматирования (HTMLTidy и AStyle), насколько я понимаю, не поддерживаются их автором, т.к. отпала необходимость.

Offline
Posts: 13
Joined: Tue Jul 15, 2014 1:16 pm

Post by Yevgenijz »

Непонятки со скриптом insertTag.js:
При первом запуске он мне зачем-то выдал, что не запущен Coder. Ладно, хотя и непонятно, какой из имеющихся Coder нужно запускать. Запустил.
Далее, выделяю текст, запускаю снова insertTag.js, он запрашивает тэг, ввожу тэг, он выдаёт тэг в квадратных скобках. Ладно, думаю, значит, нужно обрамить тэг <>, впечатываю <title> и получаю

Code: Select all

<title>>Название</title>>
ну и зачем мне лишний знак >?
Сам же и догадался: убрать лишний знак, хотя и нелогично. Набрал <title и получил

Code: Select all

<title>Название</title>
Ладно, пусть так и будет, хоть и нелогично.

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

Post by opk44 »

Yevgenijz wrote:Ладно, пусть так и будет, хоть и нелогично.
Уберите и второй лишний знак (оставив только "title" без кавычек). Тогда все будет совсем логично.

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

Post by Infocatcher »

Yevgenijz wrote:При первом запуске он мне зачем-то выдал, что не запущен Coder.
Это уже подправлено в разрабатываемой версии:
https://github.com/Infocatcher/AkelPad_ ... 0434651e51
Там запрашивался выбранный тип подсветки у Coder'а (а если не запущен хотя бы один из Coder::HighLight, Coder::CodeFold или Coder::AutoComplete, на запрос информации от плагина редактор отвечает таким вот сообщением).
Никто не жаловался, а у меня обычно запущены все три. :)
Yevgenijz wrote:Далее, выделяю текст, запускаю снова insertTag.js, он запрашивает тэг, ввожу тэг, он выдаёт тэг в квадратных скобках. Ладно, думаю, значит, нужно обрамить тэг <>, впечатываю <title> и получаю

Code: Select all

<title>>Название</title>>
ну и зачем мне лишний знак >?
Это тоже уже подправлено:
https://github.com/Infocatcher/AkelPad_ ... fde52e526d
Просто когда-то давно надо было вводить имя тэга без обрамления скобками, а потом была добавлена возможность ввести первым символом требуемую скобку, чтобы подавить автовыбор.
Вообще, автоматику модно отключить вызовом с -bbcode=0.

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Yevgenijz wrote:Непонятки со скриптом insertTag.js:..
Возможно подойдёт скрипт AutoTag.js.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

kadvlad wrote:1) возможно ли автоматически переключаться на выбранный таб при отпускании клавиши CTRL?
Так и должно происходить - аргумент "CtrlTab" должен быть не указан, либо равен "true"
2) возможно ли настроить переключение мышью, по аналогии с веб-браузерами: ПКМ+скролл вверх/вниз?
Hotkeys плагин поддерживает только клавиатуру.
3) возможно ли настроить фиксированный размер шрифта в списке табов, без привязки к текущему размеру в осн.окне?
4) возможно ли настроить формирование списка табов по аналогии с Окно>Вкладки>Правая-Левая, а не в порядке их открытия?
TabSwitch.js v3.0

Offline
Posts: 27
Joined: Sun Mar 16, 2008 10:26 pm

Post by kadvlad »

>TabSwitch.js v3.0

Instructor,
спасибо
всё замечательно настраивается и работает.

*возможно, высота строк немного "плотная", но это уже придирки..

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Можно заставить insertTag.js вставлять теги на каждой выделенной строке? Или есть альтернатива?

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

А как извне (из скрипта или программно внутри плагина) узнать, какая горячая клавиша назначена определённому скрипту? Например, назначена ли горячая клавиша на вызов SearchReplace.js - и если да, то какая именно?

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

Post by Infocatcher »

Skif_off wrote:Можно заставить insertTag.js вставлять теги на каждой выделенной строке? Или есть альтернатива?
Это как? Типа замены
Что: ^[^\n]+$
Чем: <div>\0</div>
[v] Регулярные выражения
?

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Infocatcher
Не совсем понял, сейчас выделяю

Code: Select all

строка 1
строка 2
и после работы скрипта получаю

Code: Select all

<tag>строка 1
строка 2</tag>
а хотелось бы

Code: Select all

<tag>строка 1</tag>
<tag>строка 2</tag>
.

Почему jsBeautifier.js может не запускаться? Команда

Code: Select all

 Call("Scripts::Main", 1, "jsBeautifier.js", `-unformattedTags=["binary","p"]   -wrapLineLength=1000000`)
может запуститься после перезапуска Akelpad, а может и нет, ошибок нет. От размера файла не зависисит.

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

DV, когда я писал AutoTag.js я как бы и не рассчитывал что это можно определить, и потому в качестве параметра передавалось уточнение задания.
Но тем не менее, если очень захотеть, то можно грубую оценку сделать, а именно:
все плагины для корректной регистрации горячей клавиши пользуются механизмом AP регистрации функций (сообщение AKD_DLLADD). Функция имеет имя, которое по большому счету может быть любым, но у нас принята структура которая более менее очевидно идентифицирует(для пользователя) собственно выполняемую задачу(или выполнителя). Так вот, для горячих клавиш назначенных из Скрипт-плагина имя функции имеет формат Scripts::Main::имяфайласкрипта. Ничего не мешает спросить у АР(AKD_DLLFIND если не ошибаюсь) зарегистрированную функцию Scripts::Main::HackPentagonScript.js и посмотреть какая горячая клавиша назначена. Я в History.js регистрирую такие функции. Можете посмотреть как HotKeys плагин перечисляет эти функции.
Locked