PostMacro — интерактивный запуск макросов из любой макрообласти

Здесь выкладываются готовые к использованию макросы и скрипты.
Post Reply
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

PostMacro — интерактивный запуск макросов из любой макрообласти

Post by Shmuel »

Предлагаемая утилита (макрос) позволяет запускать макросы из редактора, вьювера и т.д. наподобие того, как запускаются макросы с комстроки. Поля диалога Sequence и Parameters можно редактировать в редакторе, нажав на них F4. Они могут быть многострочные.

Code: Select all

Controls:
  Sequence   - either Lua/MoonScript chunk or @<filename>
               if it begins with an '=' then far.Show() is called on it.
  Parameters - comma separated list of Lua/MoonScript expressions
  [x] Reuse environment - use the previous Lua environment for the new run
  [x] Loop this dialog  - call this dialog again after the execution

Preset "global" variables:
  F       = far.Flags
  Message = far.Message
  Show    = far.Show
  WI      = far.AdvControl("ACTL_GETWINDOWINFO") -- window info
  API     = panel.GetPanelInfo(nil,1)            -- active panel info
  PPI     = panel.GetPanelInfo(nil,0)            -- passive panel info
  EI      = editor.GetInfo()                     -- editor info
  VI      = viewer.GetInfo()                     -- viewer info
  Cnt     = automatic counter of runs in the current Lua environment
postmacro_20160719.7z
(2.54 KiB) Downloaded 183 times
Last edited by Shmuel on Tue 19 Jul, 2016 15:03, edited 5 times in total.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

PostMacro - интерактивный запуск макросов из любой макрообласти

Post by Shmuel »

Обновил скрипт и его описание в первом сообщении темы.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

PostMacro - интерактивный запуск макросов из любой макрообласти

Post by Shmuel »

Очередное обновление в первом сообщении темы. Ряд улучшений.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

PostMacro - интерактивный запуск макросов из любой макрообласти

Post by Shmuel »

И ещё одно обновление. На сей раз я уже почти доволен скриптом.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

PostMacro - интерактивный запуск макросов из любой макрообласти

Post by Shmuel »

Скрипт в первом сообщении обновлён. Несколько мелких улучшений.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

PostMacro — интерактивный запуск макросов из любой макрообласти

Post by Shmuel »

Скрипт обновлён. Добавлена поддержка знака = в начале последовательности (по аналогии с комстрокой lua:).
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

PostMacro — интерактивный запуск макросов из любой макрообласти

Post by HaRT »

Спасибо за удобный макрос! Частенько им пользуюсь. Пара пожеланий:
1. Чтобы можно было запускать не только непосредственно введённый код, но и уже существующие макросы:
HaRT wrote:
Shmuel wrote: Можно пример привести, где подобная фича была бы удобна?
Сценарий такой: для конкретного файла в редакторе (или группы однотипных файлов) записывается временный макрос, который потом надо применить много раз подряд.
2. Чтобы можно было запускать код из Lua/Moon файлов с диска (подобно тому, как было в плагине PostMacro).

Если идеи нравятся, я готов обсуждать пользовательский интерфейс.
Last edited by HaRT on Thu 08 Dec, 2016 14:44, edited 1 time in total.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

PostMacro — интерактивный запуск макросов из любой макрообласти

Post by Shmuel »

По 2-му пункту вроде реализовано уже (нажмите F1 в диалоге) ? (С плагином не знаком).
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

PostMacro — интерактивный запуск макросов из любой макрообласти

Post by Shmuel »

По 1-му пункту:
Запуск существующих макросов не входит в цели данной утилиты. Она по большому счёту является аналогом командной строки LuaMacro, только с той существенной разницей, что работает из любой макрообласти. Ну и некоторые дополнительные удобства. А если нужно просто вызвать на исполнение тот или иной макрос, так это ведь возможно и без данной утилиты, простым нажатием соответствующего кнопкосочетания.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

PostMacro — интерактивный запуск макросов из любой макрообласти

Post by HaRT »

Shmuel wrote: простым нажатием соответствующего кнопкосочетания
Некоторые макросы не назначены на кнопкосочетания, но главный мотив — иметь возможность запустить многократное выполнение интересующего макроса, как обсуждается по ссылке на цитату.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

PostMacro — интерактивный запуск макросов из любой макрообласти

Post by Shmuel »

HaRT wrote: Некоторые макросы не назначены на кнопкосочетания
И как вы их запускаете?
HaRT wrote: иметь возможность запустить многократное выполнение интересующего макроса
Назначьте на какой-либо несуществующий ключ (если ключа не было), и запускайте из данной утилиты:
for k=1,200 do eval("MyKey",2) end
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

PostMacro — интерактивный запуск макросов из любой макрообласти

Post by HaRT »

Shmuel wrote: И как вы их запускаете?
Обычно никак. Когда они надобятся, даю им временные кнопкосочетания, которые потом не сохраняю. Хотелось как раз избежать этих назначений/удалений.
Shmuel wrote: for k=1,200 do eval("MyKey",2) end
Вот как раз всей это писанины и хотелось избежать, имея возможность отдельно выбрать макрос (в т.ч., возможно, в виде файла) и отдельно ввести число повторений, — подобно тому, как это сделано в плагине PostMacro для макросов Фара 1.75.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

PostMacro — интерактивный запуск макросов из любой макрообласти

Post by Shmuel »

HaRT wrote: Вот как раз всей это писанины и хотелось избежать, имея возможность отдельно выбрать макрос (в т.ч., возможно, в виде файла) и отдельно ввести число повторений, — подобно тому, как это сделано в плагине PostMacro для макросов Фара 1.75.
Вот эта вся писанина (вводится за 10 секунд) нужна по моему опыту раз в год. До сих пор ни вы, ни автор в параллельной ветке не привели ни одного примера, зачем это всё надо.

В данной утилите подобная функциональность вряд ли появится (мне не лень раз в год ввести вручную 30 символов). Если для вас эта задача очень важна - никто не запрещает сделать форк данной утилиты.
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

PostMacro — интерактивный запуск макросов из любой макрообласти

Post by zg »

вся эта функциональность с повторением n раз - от бедности тех средств. сейчас действительно не очень понятно - зачем оно нужно.
Post Reply

Return to “Полезные макросы и скрипты”