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

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

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

Post by Shmuel » Tue 24 Nov, 2015 16:36

Предлагаемая утилита (макрос) позволяет запускать макросы из редактора, вьювера и т.д. наподобие того, как запускаются макросы с комстроки. Поля диалога 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 51 times
Last edited by Shmuel on Tue 19 Jul, 2016 15:03, edited 5 times in total.

Shmuel
Posts: 5154
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 14 times
Been thanked: 144 times

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

Post by Shmuel » Wed 25 Nov, 2015 12:14

Обновил скрипт и его описание в первом сообщении темы.

Shmuel
Posts: 5154
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 14 times
Been thanked: 144 times

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

Post by Shmuel » Thu 26 Nov, 2015 10:19

Очередное обновление в первом сообщении темы. Ряд улучшений.

Shmuel
Posts: 5154
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 14 times
Been thanked: 144 times

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

Post by Shmuel » Fri 27 Nov, 2015 07:30

И ещё одно обновление. На сей раз я уже почти доволен скриптом.

Shmuel
Posts: 5154
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 14 times
Been thanked: 144 times

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

Post by Shmuel » Fri 25 Dec, 2015 15:44

Скрипт в первом сообщении обновлён. Несколько мелких улучшений.

Shmuel
Posts: 5154
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 14 times
Been thanked: 144 times

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

Post by Shmuel » Tue 19 Jul, 2016 15:06

Скрипт обновлён. Добавлена поддержка знака = в начале последовательности (по аналогии с комстрокой lua:).

User avatar
HaRT
Moderator
Posts: 8048
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 67 times
Been thanked: 100 times

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

Post by HaRT » Thu 08 Dec, 2016 14:43

Спасибо за удобный макрос! Частенько им пользуюсь. Пара пожеланий:
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: 5154
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 14 times
Been thanked: 144 times

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

Post by Shmuel » Thu 08 Dec, 2016 14:49

По 2-му пункту вроде реализовано уже (нажмите F1 в диалоге) ? (С плагином не знаком).

Shmuel
Posts: 5154
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 14 times
Been thanked: 144 times

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

Post by Shmuel » Thu 08 Dec, 2016 21:56

По 1-му пункту:
Запуск существующих макросов не входит в цели данной утилиты. Она по большому счёту является аналогом командной строки LuaMacro, только с той существенной разницей, что работает из любой макрообласти. Ну и некоторые дополнительные удобства. А если нужно просто вызвать на исполнение тот или иной макрос, так это ведь возможно и без данной утилиты, простым нажатием соответствующего кнопкосочетания.

User avatar
HaRT
Moderator
Posts: 8048
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 67 times
Been thanked: 100 times

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

Post by HaRT » Thu 08 Dec, 2016 22:12

Shmuel wrote: простым нажатием соответствующего кнопкосочетания
Некоторые макросы не назначены на кнопкосочетания, но главный мотив — иметь возможность запустить многократное выполнение интересующего макроса, как обсуждается по ссылке на цитату.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Shmuel
Posts: 5154
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 14 times
Been thanked: 144 times

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

Post by Shmuel » Thu 08 Dec, 2016 22:46

HaRT wrote: Некоторые макросы не назначены на кнопкосочетания
И как вы их запускаете?
HaRT wrote: иметь возможность запустить многократное выполнение интересующего макроса
Назначьте на какой-либо несуществующий ключ (если ключа не было), и запускайте из данной утилиты:
for k=1,200 do eval("MyKey",2) end

User avatar
HaRT
Moderator
Posts: 8048
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 67 times
Been thanked: 100 times

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

Post by HaRT » Thu 08 Dec, 2016 22:55

Shmuel wrote: И как вы их запускаете?
Обычно никак. Когда они надобятся, даю им временные кнопкосочетания, которые потом не сохраняю. Хотелось как раз избежать этих назначений/удалений.
Shmuel wrote: for k=1,200 do eval("MyKey",2) end
Вот как раз всей это писанины и хотелось избежать, имея возможность отдельно выбрать макрос (в т.ч., возможно, в виде файла) и отдельно ввести число повторений, — подобно тому, как это сделано в плагине PostMacro для макросов Фара 1.75.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Shmuel
Posts: 5154
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 14 times
Been thanked: 144 times

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

Post by Shmuel » Thu 08 Dec, 2016 23:17

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

В данной утилите подобная функциональность вряд ли появится (мне не лень раз в год ввести вручную 30 символов). Если для вас эта задача очень важна - никто не запрещает сделать форк данной утилиты.

User avatar
zg
zero-gravity
Posts: 5245
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 42 times
Contact:

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

Post by zg » Fri 09 Dec, 2016 06:12

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

Post Reply

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