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

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

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

Post by Shmuel » Wed 30 Jan, 2013 14:18

Latest post of the previous page:

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

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

P.S. Непонятно, зачем вам в этой истории макросы. Делайте всё в скрипте.

Shmuel
Posts: 5234
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 152 times

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

Post by Shmuel » Wed 30 Jan, 2013 16:11

На плагринге - Macro2Lua 0.5 с поддержкой Plugin.Call.

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

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

Post by John Doe » Wed 30 Jan, 2013 16:21

Спасибо!

Нужен был способ вызывать конвертер из редактора, для конвертации блока.
Max Rusov в принципе решил этот вопрос через временный файл.
Я же хотел уточнить, нет ли более прямого способа.

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

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

Post by John Doe » Thu 31 Jan, 2013 22:25

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

Code: Select all

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

Code: Select all

if 1 then  endKeys("♪") 

Shmuel
Posts: 5234
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 152 times

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

Post by Shmuel » Thu 31 Jan, 2013 23:07

John Doe wrote:Неожиданный эффект при попытке конвертировать Editor.SelValue.
Исправлено в версии 0.6.

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

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

Post by John Doe » Sat 02 Feb, 2013 01:21

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

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

Возможно это не работает именно в синтаксисе chunk?

Shmuel
Posts: 5234
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 152 times

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

Post by Shmuel » Sat 02 Feb, 2013 07:50

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

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

Также обрабатываются настоящие комментарии в FML-файлах.

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

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

Post by John Doe » Sat 02 Feb, 2013 10:44

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

P.S.
Мои комментарии - однострочные, помечены ;;, как в MacroLib.
Я бы их переделал в %Comment, но и это не работает.

Shmuel
Posts: 5234
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 152 times

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

Post by Shmuel » Sat 02 Feb, 2013 11:06

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: 11421
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

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

Post by John Doe » Sat 02 Feb, 2013 11:12

str_out, str_message = Plugin.Call(guid, "chunk", Editor.SelValue)

Shmuel
Posts: 5234
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 152 times

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

Post by Shmuel » Sat 02 Feb, 2013 11:43

Поправил в версии 0.7.
Дальнейшие репорты по конвертеру принимаются, но оперативно чиниться не будут.

xarx
Posts: 123
Joined: Tue 23 Nov, 2010 12:06

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

Post by xarx » Fri 15 Feb, 2013 12:59

Macro2Lua незнает функцию panelitem (я исползуюсь panelitem(0,i,8)). Какой ее lua эквивалент?

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

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

Post by John Doe » Fri 15 Feb, 2013 13:04

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

А вообще рекомендую macroapi_manual.chm (в поставке)

xarx
Posts: 123
Joined: Tue 23 Nov, 2010 12:06

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

Post by xarx » Fri 15 Feb, 2013 13:21

Спасибо, но это документация для макроязыка для FAR2. LUA FAR3 API то же самое?
Panelitem какая то устаревшая функциа. Но макросы, каторые ее исползуют, постоянно работают (но Macro2Lua ее незнает). Имеют аргументы Panel.Item те же значения?

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

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

Post by John Doe » Fri 15 Feb, 2013 13:25

Кто его знает...
Может в доку заглянуть стоит?

xarx
Posts: 123
Joined: Tue 23 Nov, 2010 12:06

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

Post by xarx » Fri 15 Feb, 2013 13:42

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

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

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

Post by John Doe » Fri 15 Feb, 2013 13:46

В дистрибутиве фара забыли посмотреть?

Post Reply

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