LuaMacro — Lua как язык макросов

Здесь обсуждается всё, что касается макросов.
User avatar
John Doe
Бюрократ
Posts: 12457
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 188 times

LuaMacro — Lua как язык макросов

Post by John Doe » Mon 16 Jul, 2012 13:44

Проект Spring (обсуждение) влился в стабильную версию Far Manager 3.0.

Таким образом, в макросах сейчас доступны:
  • Стандартные функции и библиотеки Lua.
  • В фаре используется LuaJIT (обсуждение), что (в частности) даёт доступ к библиотеке FFI (обсуждение).
  • "Надстройка" над Lua: MoonScript (Подробности и обсуждение)
  • Функции API плагинов, посредством библиотеки LuaFAR (см. luafar_manual.chm)
  • Функции старого макроязыка (API макросов) (Обновление)
    Актуальный мануал, отражающий после перехода на Lua: macroapi_manual.ru.chm.
    (Мануал весьма лаконичен, вместо описания функции старого макроязыка приведены ссылки на устаревший раздел )
См. также:

Amouse
Posts: 7
Joined: Tue 03 Jun, 2014 12:06

Re: LuaMacro — Lua как язык макросов

Post by Amouse » Tue 03 Jun, 2014 12:08

Latest post of the previous page:

Подскажите, мне нужен плагин, только чтобы редактировать в Фаре код на луа, без переделки самого Фара. Такой есть?

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

Re: LuaMacro — Lua как язык макросов

Post by HaRT » Tue 03 Jun, 2014 12:24

Amouse wrote:Подскажите, мне нужен плагин, только чтобы редактировать в Фаре код на луа, без переделки самого Фара. Такой есть?
Что должен уметь делать этот плагин, чего не умеет делать ФАР в стандартной комплектации (при выборе всех штатных плагинов в инсталляторе)?
Фар есть инструмент, а не нянька. © 2009 DrKnS

AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: LuaMacro — Lua как язык макросов

Post by AleXH » Sun 08 Jun, 2014 17:00

Вопросы:
1. В дистрибутив входит macrotest.lua, а в нём такие функции - что в них делают абсолютные пути, смотрящие непонятно куда?

2. При наличии нескольких макросов на одной клавише, по нажатию на эту клавишу выдаётся список этих макросов. Если после этого нажать "Esc", то видим неуместное

Shmuel
Posts: 5896
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 217 times

Re: LuaMacro — Lua как язык макросов

Post by Shmuel » Sun 08 Jun, 2014 17:20

1. Разбирайтесь в энциклопедии с этими ф-циями.
2. Это сломалось во время последнего большого рефакторинга. Ещё в 3929 работало. Спасибо за репорт!

Shmuel
Posts: 5896
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 217 times

Re: LuaMacro — Lua как язык макросов

Post by Shmuel » Sat 14 Jun, 2014 10:30

John Doe wrote:
Shmuel wrote:приходится выбирать более важные/интересные моменты для реализации.
Было бы интересно узнать, что уже намечено к реализации!
Список приводить не буду, иначе замучаюсь отвечать на вопросы.

Возможные нововведения тоже лучше не озвучивать, может привести к преждевременным дискуссиям.
Хотя с другой стороны, по билду 366 LuaMacro, к моему удивлению, не поступило ни одного вопроса.

Грубо говоря, половина релевантных тикетов на Мантисе (со второй половиной я не согласен).

Рефакторинги - иначе код нельзя развивать, и он выходит из-под контроля.
Иногда бывает, что 8 часов что-то делаешь, потом приходится откатывать.

LuaFAR.

Документация.
Просил одного товарища в своё время перевести macroapi_manual на английский, но закончилось тем, что пришлось самому. Ну да ладно.

P.S. Добавлю, что на свои плагины, с тех пор, как я в Far Group, времени практически нет.

User avatar
John Doe
Бюрократ
Posts: 12457
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 188 times

Re: LuaMacro — Lua как язык макросов

Post by John Doe » Sat 14 Jun, 2014 11:07

Shmuel wrote: Хотя с другой стороны, по билду 366 LuaMacro, к моему удивлению, не поступило ни одного вопроса.
А для чего может понадобиться воссоздавать виртуальную машину?

Shmuel
Posts: 5896
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 217 times

Re: LuaMacro — Lua как язык макросов

Post by Shmuel » Sat 14 Jun, 2014 11:12

John Doe wrote:А для чего может понадобиться воссоздавать виртуальную машину?
Это примерно соответствует полной перезагрузке плагина. То-есть, начинаем с чистого листа.
В другой аппликации у меня это уже много лет, и практика показала, что пользуюсь.
Конкретные примеры - отладка при изменениях в самом плагине, замена lpeg.dll и т.д.

User avatar
John Doe
Бюрократ
Posts: 12457
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 188 times

Re: LuaMacro — Lua как язык макросов

Post by John Doe » Mon 16 Jun, 2014 11:11

Макросы, добавленные с помощью far.MacroAdd, работают с глобальным окружением. Баг?

Shmuel
Posts: 5896
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 217 times

Re: LuaMacro — Lua как язык макросов

Post by Shmuel » Mon 16 Jun, 2014 11:44

John Doe wrote:Макросы, добавленные с помощью far.MacroAdd, работают с глобальным окружением. Баг?
Большое спасибо за репорт. Исправлено.

User avatar
John Doe
Бюрократ
Posts: 12457
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 188 times

Re: LuaMacro — Lua как язык макросов

Post by John Doe » Mon 16 Jun, 2014 12:14

Если реализовывать тикет 2704 (а у меня есть готовый патч), то имеет смысл устанавливать окружение в функции AddRegularMacro.

Shmuel
Posts: 5896
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 217 times

Re: LuaMacro — Lua как язык макросов

Post by Shmuel » Mon 16 Jun, 2014 12:49

John Doe wrote:Если реализовывать тикет 2704 (а у меня есть готовый патч), то имеет смысл устанавливать окружение в функции AddRegularMacro.
Установка окружения может переехать туда во время рефакторингов.
Что касается 2704, вопрос весьма открытый и неоднозначный (просьба не обсуждать его здесь).

User avatar
John Doe
Бюрократ
Posts: 12457
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 188 times

Re: LuaMacro — Lua как язык макросов

Post by John Doe » Mon 16 Jun, 2014 16:43

Курсор на папке "System Volume Information", из командной строки запускаю lua:Keys"Enter".
Запрос повышения привилегий выводится невидимым.
Хотелось бы как-то учитывать этот случай.

Shmuel
Posts: 5896
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 217 times

Re: LuaMacro — Lua как язык макросов

Post by Shmuel » Mon 16 Jun, 2014 17:01

John Doe wrote:Курсор на папке "System Volume Information", из командной строки запускаю lua:Keys"Enter".
Запрос повышения привилегий выводится невидимым.
Хотелось бы как-то учитывать этот случай.
Вы не ошиблись темой/разделом форума?
Мне кажется, это не макросистемы дело учитывать этот случай.

User avatar
John Doe
Бюрократ
Posts: 12457
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 188 times

Re: LuaMacro — Lua как язык макросов

Post by John Doe » Mon 16 Jun, 2014 17:25

Вы не ошиблись темой/разделом форума?
Проблема конечно не в плагине, с этим не поспоришь.
Но вопрос касается макросистемы, и на мантисе я собираюсь отнести его к категории "Макросы". Разве нет?

Shmuel
Posts: 5896
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 217 times

Re: LuaMacro — Lua как язык макросов

Post by Shmuel » Mon 16 Jun, 2014 17:39

John Doe wrote:Но вопрос касается макросистемы, и на мантисе я собираюсь отнести его к категории "Макросы". Разве нет?
Достаточно в Фаре перед выводом этого диалога снять запрет перерисовки экрана.
Куда отнести? С макросами связано, конечно, но в первую очередь - с самим диалогом, который временно отключает макросистему.

User avatar
John Doe
Бюрократ
Posts: 12457
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 188 times

Re: LuaMacro — Lua как язык макросов

Post by John Doe » Mon 16 Jun, 2014 20:19

0002709
(К сожалению для запроса привилегий администратора не предусмотрен отдельный раздел)

User avatar
John Doe
Бюрократ
Posts: 12457
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 188 times

Re: LuaMacro — Lua как язык макросов

Post by John Doe » Tue 17 Jun, 2014 14:49

Shmuel wrote:
John Doe wrote:А для чего может понадобиться воссоздавать виртуальную машину?
Это примерно соответствует полной перезагрузке плагина. То-есть, начинаем с чистого листа.
В другой аппликации у меня это уже много лет, и практика показала, что пользуюсь.
Конкретные примеры - отладка при изменениях в самом плагине, замена lpeg.dll и т.д.
Сейчас после такой перезагрузки не выполняются макросы RunAfterFARStart, так и задумано?

И интересно, почему это сделано переменной, а не спецфункцией?

Post Reply

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