MacroLib — Far Macro Library

Здесь можно обсудить ваш любимый плагин.
tstr
Posts: 529
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 9 times
Been thanked: 7 times

Re: MacroLib — Far Macro Library

Post by tstr » Thu 11 Oct, 2012 12:52

Latest post of the previous page:

Есть два макроса,

Code: Select all

Area="Shell"
Key="CtrlAltS"
{{
  MacroLibGUID="84884660-5B2F-4581-9282-96E00AE109A2"
  Plugin.Command(MacroLibGUID, "key AltSubtract");
}}
и

Code: Select all

Area="Shell"
Key="AltSubtract"
{{
  msgbox("Macro Library", "Checkpoint…");
}}
, из первого вызов второго не происходит. я что-то делаю не так?

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 10 times

Re: MacroLib — Far Macro Library

Post by Max Rusov » Thu 11 Oct, 2012 14:01

Не знаю, у меня - работает.

Shmuel
Posts: 5908
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 228 times

Re: MacroLib — Far Macro Library

Post by Shmuel » Thu 11 Oct, 2012 17:15

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

Update: всё работает, опция была не выставлена.

Capri200
Posts: 51
Joined: Fri 25 Mar, 2011 08:50

Re: MacroLib — Far Macro Library

Post by Capri200 » Wed 31 Oct, 2012 13:21

У меня сейчас всё работает нормально. Перевел все макросы. Есть ли какие-либо ограничения на использование скриптов Lua в макросах плагина по сравнению с FAR?

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 10 times

Re: MacroLib — Far Macro Library

Post by Max Rusov » Wed 31 Oct, 2012 14:47

Мне о каких либо ограничениях не известно.

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 10 times

Re: MacroLib — Far Macro Library

Post by Max Rusov » Wed 31 Oct, 2012 22:10

Для облегчения конвертации макросов сделал хелпер к Macro2Lua.



По CtrlAltL конвертирует выделенный блок макро-файла в LUA. Может быть выделен целый макрос, произвольная его часть или сразу несколько макросов в FML файле. Выделенный блок должен быть синтаксически правильной конструкцией.

Shmuel
Posts: 5908
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 228 times

Re: MacroLib — Far Macro Library

Post by Shmuel » Wed 31 Oct, 2012 22:23

Max Rusov wrote:Для облегчения конвертации макросов сделал хелпер к Macro2Lua.
Небольшое замечание, ну и вообще, для информации: функции библиотеки os - не юникодные. Поэтому лучше вместо os.remove пользовать win.DeleteFile.

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 10 times

Re: MacroLib — Far Macro Library

Post by Max Rusov » Wed 31 Oct, 2012 22:29

Спасибо, поправил

Capri200
Posts: 51
Joined: Fri 25 Mar, 2011 08:50

Re: MacroLib — Far Macro Library

Post by Capri200 » Thu 01 Nov, 2012 09:45

Max Rusov wrote:Для облегчения конвертации макросов сделал хелпер к Macro2Lua.
спасибо
облегчает жизнь
даже немного жаль, что всё уже переписал сам... :)
Last edited by Capri200 on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Исправлено форматирование цитаты

User avatar
SUSim
Posts: 1534
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 5 times
Been thanked: 9 times

Re: MacroLib — Far Macro Library

Post by SUSim » Thu 01 Nov, 2012 16:09

Shmuel wrote:
Max Rusov wrote:Для облегчения конвертации макросов сделал хелпер к Macro2Lua.
Небольшое замечание, ну и вообще, для информации: функции библиотеки os - не юникодные. Поэтому лучше вместо os.remove пользовать win.DeleteFile.
Shmuel, немного не по теме... os. не юникодная, а io. юникодная???
Max Rusov, Shmuel, пара вопросов:
- я правильно понял - всё что не nil это true (тогда вместо if f~=nil then можно просто if f then)?
- использование editor.UndoRedo(nil, 0) чем-то лучше Editor.Undo(0)?
- если использование плугин апи лучше макро команд как в предыдущем вопросе, то почему Tmp = win.GetEnv("TEMP") Src = Tmp .. "\\temp.fml" Dst = Tmp .. "\\temp.fmlua", а не Src=far.MkTemp() Dst=far.MkTemp()?
- зачем в конструкции F = assert(io.open(Src, "w+b")) "assert"?
SimSU ··· ·· -- ··· ··-

Shmuel
Posts: 5908
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 228 times

Re: MacroLib — Far Macro Library

Post by Shmuel » Thu 01 Nov, 2012 16:18

SUSim wrote:os. не юникодная, а io. юникодная???
Да. Подробнее на эту тему - в статье "Unicode support" мануала LuaFAR.
SUSim wrote:- я правильно понял - всё что не nil это true (тогда вместо if f~=nil then можно просто if f then)?
В данном конкретном случае можно просто. А вообще - всё, что не nil и не false.

Capri200
Posts: 51
Joined: Fri 25 Mar, 2011 08:50

Re: MacroLib — Far Macro Library

Post by Capri200 » Fri 02 Nov, 2012 09:53

Заметил, что при ошибке математической операции в lua скрипте падает весь far.
в простейшем варианте local x=1/0 достаточно

Shmuel
Posts: 5908
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 228 times

Re: MacroLib — Far Macro Library

Post by Shmuel » Fri 02 Nov, 2012 09:58

Capri200 wrote:Заметил, что при ошибке математической операции в lua скрипте падает весь far.
в простейшем варианте local x=1/0 достаточно
(Не в этой теме надо было репортить).
Ищите плагин среди установленных у вас, который включает floating point exceptions в процессоре.

Capri200
Posts: 51
Joined: Fri 25 Mar, 2011 08:50

Re: MacroLib — Far Macro Library

Post by Capri200 » Fri 02 Nov, 2012 10:02

Shmuel wrote:
Capri200 wrote:Заметил, что при ошибке математической операции в lua скрипте падает весь far.
в простейшем варианте local x=1/0 достаточно
(Не в этой теме надо было репортить).
Ищите плагин среди установленных у вас, который включает исключения floating point в процессоре.
Спасибо. Сейчас проверю. А подскажите в какой теме, если не трудно. Увлекся использованием lua под свои потребности. Очень интересно.

Capri200
Posts: 51
Joined: Fri 25 Mar, 2011 08:50

Re: MacroLib — Far Macro Library

Post by Capri200 » Fri 02 Nov, 2012 10:11

Ищите плагин среди установленных у вас, который включает floating point exceptions в процессоре.
Нашёл. Один из плагинов, вызывающих падение far при кривых математических операциях - MacroLib.
Вообще из установленных дополнительно у меня только эти:
NetBox
Macro2Lua
FarColorer
не вызвали падения

Shmuel
Posts: 5908
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 228 times

Re: MacroLib — Far Macro Library

Post by Shmuel » Fri 02 Nov, 2012 10:20

Насколько я понимаю, Lua тут ни при чём. Если включены floating point exceptions, выполнение, например, операции 1.5/0 в любом плагине приведёт к падению.

Кстати, MacroLib у меня установлен, а падений нет. Так что вы, видимо, ошибаетесь.

Capri200
Posts: 51
Joined: Fri 25 Mar, 2011 08:50

Re: MacroLib — Far Macro Library

Post by Capri200 » Fri 02 Nov, 2012 10:27

Сейчас проверю отдельно с MacroLib.

Post Reply

Return to “Обсуждение плагинов”