Запуск скрипта из редактора

Far Manager Macro System

Запуск скрипта из редактора


-- Данный макрос сначала сохраняет содержимое редактора (если оно не было сохранено),
-- затем исполняет редактируемый файл как Lua-скрипт.
Macro {
  description="Save and run script from editor";
  area="Editor"; key="CtrlF10";
  action=function()
    for k=1,2 do
      local info=editor.GetInfo()
      if bit64.band(info.CurState, far.Flags.ECSTATE_SAVED)~=0 then
        local Flags = info.FileName:sub(-5):lower()==".moon"
          and "KMFLAGS_MOONSCRIPT" or "KMFLAGS_LUA"
        far.MacroPost('@"' .. info.FileName .. '"', Flags)
        break
      end
      if k==1 then editor.SaveFile(); end
    end
  end;
}