Latest post of the previous page:
Я год к нему не прикасался, и даже не помню в каком он состоянии.Функций там не добавилось.
Latest post of the previous page:
Я год к нему не прикасался, и даже не помню в каком он состоянии.Code: Select all
local rebind = require"rebind"
if rebind then
--rebind.Setup{auto_uids=true}
rebind.Setup {auto_uids=true,no_warnings=true}
rebind.LoadBindings()
end
debug.setupvalue (LoadMacros, iAddMacro, AddMacroNew)
в файле rebind.lua. При этом LoadMacros и AddMacroNew функции, а iAddMacro маленькое целое число. Может подскажите в чем дело?Code: Select all
do --get LoadedMacros, set AddMacro
local function getUpvalue(f,name)
for i=1,1000 do
local k,v = debug.getupvalue (f, i)
if k==nil then
error("unable to get upvalue: "..name)
end
if k==name then return v, i end
end
end
LoadedMacros = getUpvalue(mf.GetMacroCopy,"LoadedMacros")
local LoadMacros = getUpvalue(eval,"utils").LoadMacros
local AddMacro,iAddMacro = getUpvalue(LoadMacros,"AddRegularMacro")
if not mf.AddMacro then mf.AddMacro = AddMacro end
far.Show(AddMacroNew)
debug.setupvalue (LoadMacros,iAddMacro,AddMacroNew)
end
Ошибка не здесь.
Такие макросы могут быть запущены из макробраузера. Кроме того, если есть флаг
RunAfterFARStart
, то запустится при старте Far.
Code: Select all
myfile.lua
Macro {
description="";
area="Shell";
flags="";
code=".....(создать файл, ctrl+V, сохранить файл)..."
}
Странно почему так - если я записал макрос последовательностью клавиш, то нужно его теперь дополнительно редактировать, чтобы позволить его запустить из командной строки?John Doe wrote:Внутри файла (выполняемого таким образом) должен быть сразу код, без Macro, description, ...
Вы не от того пляшете. Описание макроса — это специального вида скрипт на Луа. Луа-код, котороый можно выполнить из командной строки, — это произвольный скрипт, с макросами никак не связанный.
%FarHome%\Encyclopedia\*.chm
”.Небольшое уточнение:
lua:
или moon:
, код, исполняемый из комстроки, это всё-таки макрос, но "одноразовый" и безусловно исполняемый;luas:
или moons:
, это не макрос, а просто немедленно исполняемый скрипт.