Ввод в диалоге и выполнение макросов

Здесь обсуждается всё, что касается макросов.
Post Reply
buniak_a_h
Posts: 649
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 64 times
Been thanked: 17 times
Contact:

Ввод в диалоге и выполнение макросов

Post by buniak_a_h » Wed 02 Jan, 2019 10:35

Возможно, я опять изобретаю велосипед, но мне показалось удобным то, то сделано. Может, ещё кому понравится...
К написанию этого макроса побудила ограниченность клавиатурных макросов, а именно:
1. Необходимость редактирования клавиатурного макроса, если его логика не ограничивается простым нажатием клавиш
2. Желание давать осмысленные имена макросам с возможностью в дальнейшем удалять и редактировать.
В результате получился макос, который на этапе вода выглядит следующим образом:
Image
В левой части экрана - список введённых макросов, в правой - текст выбранного. Количество строк ограничено размером окна (ну, т.е. простенькие скрипты предполагаются), но зато есть возможность вставить один макрос в другой (см. последнюю строчку текста). Для удобства переноса предусмотрен экспорт и импорт коллекции в файл.
Редактирование макроса у меня повешено на сочетание CtrlShiftM-M (Ctrl+Shift+2 раза M).
Выполнение последнего (по времени) выбранного (или редактировавшегося) макроса повешено на одиночную CtrlShiftM. Ну, типа для скорости и лаконичности вызова.

В этом макросе для импорта-экспорта таблицы используется мой модуль TabUtils; он имеется во вложении. Если Вы не захотите его использовать, то его можно с успехом заменить, например, функцией serialize из %FarHome%\Plugins\LuaMacro\api.lua, или написать что-нить своё.
John Doe, если Вы такое уже писали, то не взыщите - я просто не смог корректно сформулировать поисковый запрос.
P/S Во вложении также в качестве примера приведён скрипт, просто перенумеровывающий строки .
EvalMacro.7z
scripts\BAX\EvalMacro.lua, modules\BAX\TabUtils.lua и Data1.Sample
(4.65 KiB) Downloaded 6 times

Post Reply

Return to “Обсуждение макросов”