Добавление панельных модулей

Far Manager Macro System

Добавление панельных модулей


“Панельный модуль” – это набор Lua-функций, помещённых в таблицу, который загружается функцией PanelModule.

  • Имена функций модуля и их параметры совпадают с функциями таблицы export (см. мануал LuaFAR).
  • Список экспортируемых функций модуля, поддерживаемых плагином:
    Analyse, ClosePanel, Compare, DeleteFiles, GetFiles, GetFindData, GetOpenPanelInfo, MakeDirectory, Open, ProcessHostFile, ProcessPanelEvent, ProcessPanelInput, PutFiles, SetDirectory, SetFindList.
  • Каждый панельный модуль должен содержать таблицу Info с обязательным полем Guid. Прочие поля – опциональны.
-- Создадим панельный модуль
local mod  = {}
mod.Info = {
  Guid        = win.Uuid("FBBC5FBF-AE9F-46EC-999C-C744F7D898B6"); -- обязательное поле
  Version     = "";
  Title       = "";
  Description = "";
  Author      = "";
}

-- Добавим только те "экспортируемые" функции, которые нужны для работы этого модуля
mod.Analyse     = function(...) ...... end
mod.Open        = function(...) ...... end
mod.GetFindData = function(...) ...... end
......

-- Загрузим модуль
PanelModule(mod)

Примечания:

  1. Для создания панели из командной строки или меню плагинов, должны использоваться существующие функции CommandLine и MenuItem. Их функция action() должна вернуть 2 величины: (1) таблицу панельного модуля и (2) объект панели (любое не ложное значение Lua).
  2. Функция mod.Open вызывается плагином только со следующими значениями параметра OpenFrom:
    OPEN_ANALYSE, OPEN_FINDLIST и OPEN_SHORTCUT.

См. также: Пример применения