From 554e833b1a39ede9aef234449fc8992435f10751 Mon Sep 17 00:00:00 2001 From: David Vazgenovich Shakaryan Date: Tue, 3 Feb 2026 22:42:26 -0800 Subject: support multiple sources --- config.lua | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'config.lua') diff --git a/config.lua b/config.lua index 805a47d..c044d57 100644 --- a/config.lua +++ b/config.lua @@ -81,22 +81,40 @@ local f = io.open( mp.command_native( {'expand-path', '~~/script-opts/' .. script_name .. '.conf'}), 'r') +config.src_order = {} +local conf_srcs = {} if f then for line in f:lines() do if #line > 0 then local k = line:match('^([^=]*)=') opts[k] = opts[k] or '' + + local src = k:match('^src%.([^.]*)%.') + if src and not conf_srcs[src] then + config.src_order[#config.src_order+1] = src + conf_srcs[src] = true + end end end f:close() end for k, v in pairs(mp.get_property_native('script-opts')) do if k:find(script_name .. '-', 1, true) == 1 then - local pk = k:sub(#script_name + 2) - opts[pk] = opts[pk] or '' + local k = k:sub(#script_name + 2) + opts[k] = opts[k] or '' end end mp_options.read_options(opts) util.unflatten_table(opts, config) +local cli_srcs = {} +for src in pairs(config.src or {}) do + if not conf_srcs[src] then + cli_srcs[#cli_srcs+1] = src + end +end +table.sort(cli_srcs) +for _, src in ipairs(cli_srcs) do + config.src_order[#config.src_order+1] = src +end return config -- cgit v1.2.3-70-g09d2