@@ -159,6 +159,24 @@ local function load_addons(directory)
159159 for _ , file in ipairs (files ) do
160160 setup_addon (file , directory .. file )
161161 end
162+ end
163+
164+ local function load_internal_addons ()
165+ local script_dir = mp .get_script_directory ()
166+ if not script_dir then return msg .error (' script is not being run as a directory script!' ) end
167+ local internal_addon_dir = script_dir .. ' /modules/parsers/'
168+ load_addons (internal_addon_dir )
169+ end
170+
171+ local function load_external_addons ()
172+ local addon_dir = mp .command_native ({" expand-path" , o .addon_directory .. ' /' }) --[[ @as string|nil]]
173+ if not addon_dir then return msg .verbose (' not loading external addons - could not resolve' , o .addon_directory ) end
174+ load_addons (addon_dir )
175+ end
176+
177+ --- Orders the addons by priority, sets the parser index values,
178+ --- and runs the setup methods of the addons.
179+ local function setup_addons ()
162180 table.sort (g .parsers , function (a , b ) return a .priority < b .priority end )
163181
164182 -- we want to store the indexes of the parsers
@@ -176,22 +194,10 @@ local function load_addons(directory)
176194 end
177195end
178196
179- local function load_internal_parsers ()
180- local script_dir = mp .get_script_directory ()
181- if not script_dir then return msg .error (' script is not being run as a directory script!' ) end
182- local internal_addon_dir = script_dir .. ' /modules/parsers/'
183- load_addons (internal_addon_dir )
184- end
185-
186- local function load_external_addons ()
187- local addon_dir = mp .command_native ({" expand-path" , o .addon_directory .. ' /' }) --[[ @as string|nil]]
188- if not addon_dir then return msg .error (' could not resolve' , o .addon_directory ) end
189- load_addons (addon_dir )
190- end
191-
192197--- @class addons
193198return {
194199 check_api_version = check_api_version ,
195- load_internal_parsers = load_internal_parsers ,
196- load_external_addons = load_external_addons
200+ load_internal_addons = load_internal_addons ,
201+ load_external_addons = load_external_addons ,
202+ setup_addons = setup_addons ,
197203}
0 commit comments