Загрузка макрофайлов

Far Manager Macro System

Загрузка макрофайлов


  • Стационарные макросы и обработчики событий загружаются из Lua-файлов (расширение *.lua) и/или MoonScript-файлов (расширение *.moon). В дальнейшем будем называть эти файлы макрофайлами. Загрузка макросов происходит при исполнении макрофайлов плагином LuaMacro.

  • Макрофайлы грузятся из последовательности папок (рекурсивно, с подпапками), определямой одним из следующих способов (в порядке приоритетов):

    1. Последовательность папок, указанная явно (в команде или аргументе функции)
    2. Значение переменной MacroPath в файле luamacro.ini
    3. Папка %FARPROFILE%\Macros\scripts

  • Far Manager никогда не вносит никаких изменений в вышеуказанные папки. Набор и содержимое файлов в них определяется исключительно пользователем.

  • Один макрофайл может содержать произвольное количество макросов и обработчиков событий.

  • При исполнении макрофайла ему передаётся 2 параметра: (1) полный путь к данному макрофайлу и (2) счётчик количества исполнений. Если в начале макрофайла определить 2 переменные, например:
    local MacroFileName, ExeCounter = ...
    то эти переменные будут доступны всем макросам и обработчикам событий в данном файле.

  • Если макрофайлы грузятся из последовательности деревьев root1;root2;..., то это значит, что:

    • Дерево root2 начнёт грузиться только после загрузки root1
    • Для каждого дерева rootN первым всегда исполняется макрофайл
      rootN\_macroinit.lua, если такой файл существует. Порядок исполнения прочих макрофайлов в данном дереве не определён.