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

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

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: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

Latest post of the previous page:

John Doe wrote: Вопрос: необходимо ли это делать сейчас?
Пока что да.
John Doe wrote: как вы относитесь к тому чтобы избавить пользователя от такой необходимости?
Вот это вопрос неоднозначный. Технически это сейчас реализовать легко, а вот нужно ли?
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

Shmuel wrote: а вот нужно ли?
Кажется удобным.
И я затрудняются придумать, как применить обратное.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

Shmuel wrote: Технически это сейчас реализовать легко
Глянул в код, и оказалось, что не так это легко, как представлялось. Так что ещё подумать надо.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

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

Post by DrKnS »

Shmuel, можно ли при удалении по Ctrl. Ctrl. макроса из macros\scripts показывать в качестве sequence что-то более вменяемое, чем ""? Код, или путь к файлу, или хотя бы заглушку какую-то?
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

DrKnS, естественно, можно. Попробую в ближайшие дни что-то придумать (благо на работе напряг временно закончился).
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

4783.
Применённое решение может показаться несколько радикальным, но мне оно представляется наиболее логичным.
Если есть другие мнения/предложения, можно обсудить.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

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

Post by HaRT »

Запускаю Фар с единственным плагином (LuaMacro) и единственным скриптом, язык интерфейса английский. Нажимаю F9 Down AltC (можно и с другой мнемоникой из этого меню) — получаю сообщение о переполнении стэка или . По кнопке [ Stack ] бывает всякое, иногда
Far Manager v3.0 build 4794,4774 x86
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

У меня не повторяется (Windows XP SP3 x86, Far 3.0.4792).
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

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 Shmuel on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Добавлена ссылка на перенесённые сообщения
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

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

Post by HaRT »

Shmuel wrote: Зря перенесли
Переделил между темами.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

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: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

Проблема, по-видимому в Фар.
Я без всяких макросов нажал F9 Down и зажал Right. Через примерно 3-4 минуты Фар вылетел.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

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

Post by HaRT »

Shmuel wrote: Я без всяких макросов нажал F9 Down и зажал Right. Через примерно 3-4 минуты Фар вылетел.
У меня за 2 минуты.
Заодно и ржавые пассатижи пригодились. :D
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

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

Post by DrKnS »

Поздравляю, господа - вы нашли один из древнейших багов, оставленных аж представителями предыдущей цивилизации.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

Code: Select all

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

Кто виноват, и можно ли что-то сделать?
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

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

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