Перенос макросов из прошлых версий фара в LuaMacro

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Post Reply
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

Latest post of the previous page:

Это неудивительно. Макросы используют одну виртуальную машину (LuaMacro), а скрипт - другую (Macro2Lua).

Кроме временных файлов, можно использовать переменные окружения. Ну, и Plugin.Call, естественно (если бы был реализован).

P.S. Непонятно, зачем вам в этой истории макросы. Делайте всё в скрипте.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

На плагринге - Macro2Lua 0.5 с поддержкой Plugin.Call.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

Спасибо!

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

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

Post by John Doe »

Неожиданный эффект при попытке конвертировать Editor.SelValue.
Вот например что получается, если выделить строку (целиком), содержащую $if(1) $end
Editor.SelValue при этом захватывает конец строки:

Code: Select all

$if(1) $end♪◙
И результат конвертации такой:

Code: Select all

if 1 then  endKeys("♪") 
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

John Doe wrote:Неожиданный эффект при попытке конвертировать Editor.SelValue.
Исправлено в версии 0.6.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

Спасибо, теперь всё отлично.

Когда-то в теме упоминалось, что конвертер учитывает "комментарии".
Пробовал ;; // %Comment="..." - ничего не помогло.

Возможно это не работает именно в синтаксисе chunk?
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

John Doe wrote:Когда-то в теме упоминалось, что конвертер учитывает "комментарии".
Пробовал ;; // %Comment="..." - ничего не помогло.

Возможно это не работает именно в синтаксисе chunk?
Надо было попробовать %Comment="мой классный макрос"; :)
Поскольку макроязык не поддерживал комментарии, люди вводили переменные %comment, %rem и т.п. и в них помещали комментарии. Конвертер обрабатывает несколько вариантов написания %comment, вот это имелось в виду. В том числе, и в синтаксисе "chunk".

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

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

Post by John Doe »

Shmuel wrote:Надо было попробовать %Comment="мой классный макрос"; :)
Вот что на выходе: Comment="мой классный макрос";

P.S.
Мои комментарии - однострочные, помечены ;;, как в MacroLib.
Я бы их переделал в %Comment, но и это не работает.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

John Doe wrote:Вот что на выходе: Comment="мой классный макрос";
Не могу воспроизвести.
Вот файл 1.macro со следующим содержимым:

Code: Select all

%Comment="мой классный макрос";
Вот команда:

Code: Select all

m2l:convert 1.macro 1.lua chunk
Вот содержимое 1.lua:

Code: Select all

-- мой классный макрос
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

str_out, str_message = Plugin.Call(guid, "chunk", Editor.SelValue)
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

Поправил в версии 0.7.
Дальнейшие репорты по конвертеру принимаются, но оперативно чиниться не будут.
xarx
Posts: 125
Joined: Tue 23 Nov, 2010 12:06

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

Post by xarx »

Macro2Lua незнает функцию panelitem (я исползуюсь panelitem(0,i,8)). Какой ее lua эквивалент?
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

Луа не при чём, со времён Far 2 функция называется Panel.Item
http://api.farmanager.com/ru/macro/macr ... index.html

А вообще рекомендую macroapi_manual.chm (в поставке)
xarx
Posts: 125
Joined: Tue 23 Nov, 2010 12:06

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

Post by xarx »

Спасибо, но это документация для макроязыка для FAR2. LUA FAR3 API то же самое?
Panelitem какая то устаревшая функциа. Но макросы, каторые ее исползуют, постоянно работают (но Macro2Lua ее незнает). Имеют аргументы Panel.Item те же значения?
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

Кто его знает...
Может в доку заглянуть стоит?
xarx
Posts: 125
Joined: Tue 23 Nov, 2010 12:06

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

Post by xarx »

Если это был ответ на мой первий вопрос, то это грустно, что здес нет никакой документации для LUA FAR3 API. :-(
Post Reply

Return to “Нужна помощь”