Загрузка макрофайлов
Стационарные макросы и обработчики событий загружаются из Lua-файлов (расширение
*.lua
) и/или MoonScript-файлов (расширение*.moon
). В дальнейшем будем называть эти файлы макрофайлами. Загрузка макросов происходит при исполнении макрофайлов плагином LuaMacro.Макрофайлы грузятся из последовательности папок (рекурсивно, с подпапками), определямой одним из следующих способов (в порядке приоритетов):
- Последовательность папок, указанная явно (в команде или аргументе функции)
- Значение переменной
MacroPath
в файлеluamacro.ini
- Папка
%FARPROFILE%\Macros\scripts
Far Manager никогда не вносит никаких изменений в вышеуказанные папки. Набор и содержимое файлов в них определяется исключительно пользователем.
Один макрофайл может содержать произвольное количество макросов и обработчиков событий.
При исполнении макрофайла ему передаётся 2 параметра: (1) полный путь к данному макрофайлу и (2) счётчик количества исполнений. Если в начале макрофайла определить 2 переменные, например:
local MacroFileName, ExeCounter = ...
то эти переменные будут доступны всем макросам и обработчикам событий в данном файле.Если макрофайлы грузятся из последовательности деревьев
root1;root2;...
, то это значит, что:- Дерево
root2
начнёт грузиться только после загрузкиroot1
- Для каждого дерева
rootN
первым всегда исполняется макрофайл
rootN\_macroinit.lua
, если такой файл существует. Порядок исполнения прочих макрофайлов в данном дереве не определён.
- Дерево