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

Здесь обсуждается всё, что касается макросов.
User avatar
John Doe
Бюрократ
Posts: 11076
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 11 times
Been thanked: 64 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.
    (Мануал весьма лаконичен, вместо описания функции старого макроязыка приведены ссылки на устаревший раздел )
См. также:

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

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

Post by Shmuel » Wed 06 Jul, 2016 12:40

Latest post of the previous page:

John Doe wrote: Вопрос: необходимо ли это делать сейчас?
Пока что да.
John Doe wrote: как вы относитесь к тому чтобы избавить пользователя от такой необходимости?
Вот это вопрос неоднозначный. Технически это сейчас реализовать легко, а вот нужно ли?

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

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

Post by John Doe » Wed 06 Jul, 2016 13:14

Shmuel wrote: а вот нужно ли?
Кажется удобным.
И я затрудняются придумать, как применить обратное.

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

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

Post by Shmuel » Wed 06 Jul, 2016 17:16

Shmuel wrote: Технически это сейчас реализовать легко
Глянул в код, и оказалось, что не так это легко, как представлялось. Так что ещё подумать надо.

User avatar
DrKnS
Posts: 4535
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 113 times
Contact:

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

Post by DrKnS » Mon 05 Sep, 2016 12:39

Shmuel, можно ли при удалении по Ctrl. Ctrl. макроса из macros\scripts показывать в качестве sequence что-то более вменяемое, чем ""? Код, или путь к файлу, или хотя бы заглушку какую-то?

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

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

Post by Shmuel » Mon 05 Sep, 2016 12:45

DrKnS, естественно, можно. Попробую в ближайшие дни что-то придумать (благо на работе напряг временно закончился).

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

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

Post by Shmuel » Tue 06 Sep, 2016 09:09

4783.
Применённое решение может показаться несколько радикальным, но мне оно представляется наиболее логичным.
Если есть другие мнения/предложения, можно обсудить.

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

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

Post by HaRT » Wed 21 Sep, 2016 20:54

Запускаю Фар с единственным плагином (LuaMacro) и единственным скриптом, язык интерфейса английский. Нажимаю F9 Down AltC (можно и с другой мнемоникой из этого меню) — получаю сообщение о переполнении стэка или . По кнопке [ Stack ] бывает всякое, иногда
Far Manager v3.0 build 4794,4774 x86
Фар есть инструмент, а не нянька. © 2009 DrKnS

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

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

Post by Shmuel » Wed 21 Sep, 2016 21:07

У меня не повторяется (Windows XP SP3 x86, Far 3.0.4792).

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

Позиционирование в меню по Alt-ГорячаяКлавиша

Post by Shmuel » Wed 21 Sep, 2016 21:43

HaRT wrote: Обсуждение переношу к скрипту.
Зря перенесли. То, что макрос зацикливается, это ясно, но вот почему переполнение стека, мне непонятно.
Вот здесь есть переполнение стека:

Code: Select all

Macro {
  area = "MainMenu"; key = 'AltC';
  action = function()
    while true do Keys('Right') end
  end;
}
А вот здесь нету: lua:while true do Keys"Right" end. Почему?
Last edited by HaRT on Wed 21 Sep, 2016 21:51, edited 1 time in total.
Reason: Добавлена ссылка на перенесённые сообщения

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

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

Post by HaRT » Wed 21 Sep, 2016 21:51

Shmuel wrote: Зря перенесли
Переделил между темами.
Фар есть инструмент, а не нянька. © 2009 DrKnS

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

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

Post by John Doe » Wed 21 Sep, 2016 21:56

Shmuel wrote: А вот здесь нету: lua:while true do Keys"Right" end. Почему?
И тут нету:

Code: Select all

lua:Keys"F9 ";while true do Keys"Right" end
А тут уже есть:

Code: Select all

lua:Keys"F9 с";while true do Keys"Right" end

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

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

Post by Shmuel » Wed 21 Sep, 2016 22:07

Проблема, по-видимому в Фар.
Я без всяких макросов нажал F9 Down и зажал Right. Через примерно 3-4 минуты Фар вылетел.

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

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

Post by HaRT » Wed 21 Sep, 2016 22:14

Shmuel wrote: Я без всяких макросов нажал F9 Down и зажал Right. Через примерно 3-4 минуты Фар вылетел.
У меня за 2 минуты.
Заодно и ржавые пассатижи пригодились. :D
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
DrKnS
Posts: 4535
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 113 times
Contact:

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

Post by DrKnS » Thu 22 Sep, 2016 00:35

Поздравляю, господа - вы нашли один из древнейших багов, оставленных аж представителями предыдущей цивилизации.

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

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

Post by John Doe » Mon 03 Oct, 2016 21:05

Code: Select all

Macro {
  area="Shell"; key="/[LR]Alt./";
  action=function()
    Keys"AKey"
  end;
}
С таким макросом быстрый поиск перестаёт находить кириллицу..

Кто виноват, и можно ли что-то сделать?

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

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

Post by Shmuel » Mon 03 Oct, 2016 21:22

John Doe wrote: С таким макросом быстрый поиск перестаёт находить кириллицу..
В 4775 ещё находит, в 4779 уже нет.

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

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

Post by HaRT » Wed 10 May, 2017 16:19

Shmuel wrote: Для запуска файла-скрипта есть синтаксис lua:@filename, описанный в мануале.
Хотелось бы, чтобы при вызове lua: (без параметров) в том или ином виде (например, в виде окошка с сообщением прямо в Фаре) выводилась краткая справка по синтаксису — подобно тому, как это сделано для view:/edit:.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Post Reply

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

Who is online

Users browsing this forum: No registered users and 2 guests