IgorZ wrote:Единообразнее - красивее.
Я вас не понимаю.
Давайте для единообразия все функции приведём к виду Far.Call("Panel","SetPos",...)
IgorZ wrote:К сожалению, не всегда она достаточна.
И какой вывод?
IgorZ wrote:На значение слова и суть действия. Require Lua подключает модуль, который без этого недоступен. Здесь же для доступного модуля регистрируется персональное имя. Действия разные, значит, и слова должны быть разные.
Plugin.
require даёт недвусмысленно понять, что в макросе требуются функции плагина. Способ использования функций плагина через заданный NameSpace явно вытекает из конструкции NameSpace=Plugin.require().
Что касается доступности/недоступности, то это философия. Да, сами плагины доступны, но на каком-то низком уровне. Также можно сказать, что и модули доступны, через FFI, alien, loadfile/dofile.
В общем, дело вкуса. Я считаю так правильнее. Но если подобная функциональность будет в LuaFar/Macro, то мне без разницы под каким именем.
IgorZ wrote:Насколько глубоко? С таблицей они перестают фигурировать в тексте, снижая читабельность, но остаются под рукой в случае непредвиденной необходимости в них. Просто и удобно.
В шапке есть пример использования, где фигурирует <NameSpace>.Id