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

Здесь обсуждается всё, что касается макросов.
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 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: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by Shmuel »

Latest post of the previous page:

Да я и не воспринял на свой счёт...
По поводу 'ю', объясните, не понял. Это выражение никаким русским буквам, кроме 'ю', и не соответствует.
И вообще, нельзя ли без недомолвок? Чего вы хотите этим выражением достичь?
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by SUSim »

Этим выражением я добиваюсь - чтобы макрос срабатывал при нажатии русских букв...
SimSU ··· ·· -- ··· ··-
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by SUSim »

Конечно же я могу повесить макрос и так: key="/./"; но тогда уж без условия с акеем точно плохо...
SimSU ··· ·· -- ··· ··-
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by SUSim »

А, понял, почему вам непонятно, обсуждаемый регэксп относится к назначению макроса на клавиши (вот вам и неоднозначности и многосущьности).
Macro{area="Editor"; key="/[A-Z0-9,<ю>;:\'\"\[{\\]}`~_]/"; flags="DisableOutput"; ..........
срабатывает при нажатии клавиш с русскими буквами
SimSU ··· ·· -- ··· ··-
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by Shmuel »

Это-то как раз я понял. :)
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by SUSim »

а что можно как то по другому? :?
SimSU ··· ·· -- ··· ··-
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by Aidar »

Скорее всего "ю" здесь из-за того, что она соответствует клавише ".", но точку нельзя использовать, т.к. в русской раскладке ей соответствует клавиша "/".
Тогда и запятую надо бы через "б" написать, т.к. она соответствует в русской раскладке "Shift+/".
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by Smitis »

yooyo wrote:Хотелось бы понять какое преимущество имеет использование Spring вместо комбинации "Classic" Far + LuaFar ?
:shock:
А посмотреть шапку темы?
Разум когда-нибудь победит.
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by Shmuel »

Smitis wrote:
yooyo wrote:Хотелось бы понять какое преимущество имеет использование Spring вместо комбинации "Classic" Far + LuaFar ?
:shock:
А посмотреть шапку темы?
Можно немного дополнить.
1. Не надо противопоставлять одно другому, так как возможность создавать и использовать LuaFAR-плагины никуда не исчезла (LuaMacro - пример такого плагина).
2. "Spring" - это проект по замене макроязыка Фара на Lua, призванный расширить возможности макросов. Думаю, что сейчас, по прошествии 4 месяцев использования, не надо больше объяснять преимущества Lua по сравнению с прежним макроязыком.
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by John Doe »

Shmuel wrote:
Max Rusov wrote:А как прервать зациклившийся макрос? Раньше - Ctrl-Break помогало, а теперь - только диспетчер задач?
Это в TODO есть, но боюсь, что будет не скоро.
0002288: Реализовать возможность прерывания макроса по нажатию CtrlBreak
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by John Doe »

И снова о разделителях.
Не пора ли тронуть флаги?
Shmuel wrote:Сделал только пробелы. Флаги трогать пока не стал, ибо у всех макросы поломаются.
Если не хочется ломать сейчас - давайте сделаем чтобы оба разделителя работали.
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by Shmuel »

John Doe wrote:Если не хочется ломать сейчас - давайте сделаем чтобы оба разделителя работали.
3149.
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by John Doe »

Shmuel wrote:
build 3122 wrote:1. Функции 'akey' и 'mmode', будучи вызваны из функции 'condition' макроса, возвращают false.
Насчёт akey, возможно, нужно будет доработать, чтобы возвращалось в соответствии с нажатой клавишей (на мантис?).
Пока что только предотвращены падения.
0002290: Функция akey() не работает в condition
stefanenko
Posts: 142
Joined: Sun 20 Jun, 2010 12:37
Has thanked: 49 times
Been thanked: 7 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by stefanenko »

Два компа с одинаковым Windows 7 и одинаковым Far 3.0 build 3156 x86 (сегодня скачал)
На одном макросы создаются и работают в папке
..\Application Data\Far Manager\Profile\Macros\internal
на другом
..\Application Data\Far Manager\Profile\Macros\scripts
как то непонятно :(

+ хотелось бы что бы при записи макроса различались RCtrl и LCtrl. Раньше вроде так и было.

Спасибо
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by Shmuel »

stefanenko wrote:Два компа с одинаковым Windows 7 и одинаковым Far 3.0 build 3156 x86 (сегодня скачал)
На одном макросы создаются и работают в папке
..\Application Data\Far Manager\Profile\Macros\internal
на другом
..\Application Data\Far Manager\Profile\Macros\scripts
Посмотрите внимательнее. Фар никогда ничего не создаёт и не изменяет в %farprofile%\Macros\scripts. В эту папку макросы должен поместить пользователь, т.е. вы сами.
stefanenko wrote:хотелось бы что бы при записи макроса различались RCtrl и LCtrl. Раньше вроде так и было.
Для макросов, записываемых с клавиатуры, такого различения больше нет. Это макросы кратковременного использования, для них достаточно обобщённых модификаторов. Для стационарных макросов различение есть.
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by SUSim »

Shmuel ВСЁ правильно сказал!
SimSU ··· ·· -- ··· ··-
Post Reply

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