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

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

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

Post by John Doe »

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

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

Shmuel
Posts: 6067
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 300 times

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

Post by Shmuel »

Latest post of the previous page:

И кстати, то, что LuaJIT допускает не-ASCII символы в идентификаторах, мне кажется сомнительным решением.

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

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

Post by John Doe »

Используются ли сейчас опции Macros.MacroReuseRules и Macros.CONVFMT?
(и прочие, описанные в http://api.farmanager.com/ru/macro/techinfo.html)

Shmuel
Posts: 6067
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 300 times

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

Post by Shmuel »

John Doe wrote:Используются ли сейчас опции Macros.MacroReuseRules и Macros.CONVFMT?
(и прочие, описанные в http://api.farmanager.com/ru/macro/techinfo.html)
MacroReuseRules на данной странице не нашёл, и в коде Фара тоже.
DateFormat и CONVFMT используются в некоторых ф-циях mf.
KeyRecordCtrlDot и KeyRecordCtrlShiftDot вроде используются.

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

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

Post by John Doe »

Shmuel wrote:MacroReuseRules на данной странице не нашёл, и в коде Фара тоже.
Выходит кто-то на днях молча грохнул, уже и в far:config нет

User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 4 times

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

Post by Skirda »

John Doe wrote:
Shmuel wrote:MacroReuseRules на данной странице не нашёл, и в коде Фара тоже.
Выходит кто-то на днях молча грохнул, уже и в far:config нет
в build 3876
We are the Borg. You will be assimilated.
So Say We All!

eugene1287
Posts: 41
Joined: Sat 02 Oct, 2010 00:25

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

Post by eugene1287 »

как определить что элемент панели - папка?

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

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

Post by John Doe »

Поискать в Энциклопедии не пробовали?

eugene1287
Posts: 41
Joined: Sat 02 Oct, 2010 00:25

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

Post by eugene1287 »

Конечно, win.GetFileAttr. Но как с этим работать?

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

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

Post by John Doe »

Нет, вам нужно искать среди функций panel.*
Или используйте Macro API, это ещё проще в использовании, см. FarEncyclopedia.ru.chm
Кстати в первом сообщении темы тоже есть полезная информация

Shmuel
Posts: 6067
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 300 times

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

Post by Shmuel »

eugene1287 wrote:Конечно, win.GetFileAttr. Но как с этим работать?
А разве из описания не понятно? Что именно не понятно?

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

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

Post by John Doe »

А как оно может быть понятно, если функция выбрана не та, что требуется

eugene1287
Posts: 41
Joined: Sat 02 Oct, 2010 00:25

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

Post by eugene1287 »

непонятно, как из строки получить bool
panel.GetCurrentPanelItem? то же FileAttributes:string.
panel.fattr(panelType, panel.GetCurrentPanelItem(...).FileName) ?

Shmuel
Posts: 6067
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 300 times

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

Post by Shmuel »

John Doe wrote:А как оно может быть понятно, если функция выбрана не та, что требуется
Какая функция требуется - невозможно понять без контекста.
win.GetFileAttr - вполне подходящая функция во многих контекстах.

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

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

Post by John Doe »

Контекст был, работа с панелью

eugen1287
Macro API вам будет проще.

Shmuel
Posts: 6067
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 300 times

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

Post by Shmuel »

if attr:find"d" then far.Message"it is directory" end

eugene1287
Posts: 41
Joined: Sat 02 Oct, 2010 00:25

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

Post by eugene1287 »

Спасибо, теперь понятно!
Macro API, как я понимаю, только с текущим файлом может работать.

Post Reply

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