IgorZ,
IgorZ wrote: ↑Wed 07 Apr, 2021 11:05
я не предлагал вставлять
require("key2Process")
перед каждым макросом. Говорилось только о каждом файле, в котором есть макросы с
key2
Это я не чётко выразился. Прошу прощения. Уважаемый
buniak_a_h сделал это намного лучше:
buniak_a_h wrote: ↑Sun 04 Apr, 2021 20:18для выполнения того, что имеется в модуле, надо поместить require в любой lua-файл из папок %FARPROFILE%\Macros\scripts ... главное - вне функций
IgorZ wrote: ↑Wed 07 Apr, 2021 11:05поскольку LuaMacro не гарантирует порядок чтения файлов с макросами, то для избежания вышеописанной ситуации надо вызывать модуль или из каждого файла, в котором есть макросы с
key2
, или из того файла, который читается заведомо раньше всех других (а это только
_macroinit.lua
)
К большому сожалению, я почти совсем ничего не понимаю в теории, а моя субъективная практика чуток разошлась с вышеизложенным. Вот я и описал её для информации, и для того, чтобы убедиться, что так делать как я сделал не возбраняется и что моя самодеятельность ничего не портит.
Для пущей ясности повторю то, что я делаю. Причём, с вынужденным уточнением.
_macroinit.lua
я не использовал, но у меня издавна был макрос, применяемый с флагом
flags="RunAfterFARStart";
и мне вполне удобно вставить в самое начало файла с этим макросом вызов сабжевого модуля:
require("key2Process")
.
Однако через некоторое время, уже после того, как я поместил в данной теме свой пост, я обратил внимание на то, что при таком подходе модуль
key2Process
не всегда срабатывает в макрообласти
Editor
. И тогда я дополнил исполняемую часть своего автостартующего макроса следующей записью:
Keys("ShiftF4") mf.print("C:\\Far3\\Profile\\Macros\\scripts\\сохранитьДанныйФайл(тест).lua") Keys("Enter") far.MacroLoadAll() Keys("F2 Esc")
. А в начале файла
сохранитьДанныйФайл(тест).lua
, как Вы наверняка догадались, помещён вызов сабжевого модуля. После этого действие модуля вроде бы стало распространяться практически на все мои макросы, содержащие поле
key2
.
Я хорошо понимаю, что мой вышеописанный эксперимент это чистой воды отсебятина. Однако это работает. И по результатам сего опыта теперь уже я ясно вижу, что на практике проще всего поместить вызов модуля в
_macroinit.lua
.
При этом, с большим почтением, не устану выражать Вам благодарность за превосходный модуль
key2Process.lua
!