Загрузка макросов из отмеченных папок

Здесь обсуждается всё, что касается макросов.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Загрузка макросов из отмеченных папок

Post by citRiks »

Latest post of the previous page:

Вижу что дискуссия выглядит незавершенной,
хотя с тех пор код претерпел улучшения и сейчас работает идеально.
моя мотивация была в том чтобы любое изменения в файле сразу автоматически перегружало все скрипты что в этом файле,
но использовать можно и по мере любой другой надобности.
Сигнатура функции:

Code: Select all

local tbl_env_mcr_ini, tbl_exinfo 
	= Xer0X.fnc_macro_one_load = function(
		--[[ file data from recursiveSearch only,
		currently is not used:]] mcr_info,
		mcr_path, no_clean, no_exec
			)
Аргументы:
mcr_info - не используется
mcr_path - файл загрузить из него макросы
no_clean - НЕ удалять прежне загруженные макросы из этого же файла
no_exec - НЕ загружать файл.
(зато будет приготовлена среда загрузки для этого файла
tbl_env_mcr_ini, смотреть ниже)

Возвращает:
tbl_env_mcr_ini - среда загрузки макроса, выглядит так:

Code: Select all

local tbl_env_mcr_ini = {
	Macro		= function(...) --[[...]] end,
	Event		= function(...) --[[...]] end,
	MenuItem	= function(...) --[[...]] end,
        CommandLine	= function(...) --[[...]] end,
	PanelModule	= function(...) --[[...]] end,
	ContentColumns = function(...) --[[...]] end,
	LoadRegularFile	= function(...) --[[...]] end,
--	+ NoMacro, NoEvent, etc.
}
tbl_exinfo - добавочная диагностическая информация,
так как диагностики не бывает слишком много)
Last edited by citRiks on Tue 18 May, 2021 20:25, edited 1 time in total.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Загрузка макросов из отмеченных папок

Post by citRiks »

Пример использования как обновление скрипта макроса,
запуская например как lua:@Editor_CtrlF11_insert_GUiD.lua

Code: Select all

local as_module, inp_args, own_file_path
	= Xer0X.fnc_file_whoami()

local	Macro = Macro
local	Event = Event
local	tbl_mcr_env, tbl_mcr_exinf
if not	Macro
then	tbl_mcr_env, tbl_mcr_exinf
		= Xer0X.fnc_macro_one_load(nil, own_file_path, false, true)
	Macro = tbl_mcr_env.Macro
	Event = tbl_mcr_env.Event
end

Macro {	description = "New GUID !",
	area = "Editor",
	key = "CtrlF11",
	action = function() print('"'..win.Uuid(win.Uuid()):upper()..'"') end
}
Last edited by citRiks on Tue 18 May, 2021 20:28, edited 1 time in total.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Загрузка макросов из отмеченных папок

Post by citRiks »

PS
Проверял сценарии с выгрузкой макроса, теперь не уверен что все идеально
Если кому актуально - пишите, допроверяю
Post Reply

Return to “Обсуждение макросов”