summaryrefslogtreecommitdiff
path: root/config.lua
diff options
context:
space:
mode:
Diffstat (limited to 'config.lua')
-rw-r--r--config.lua22
1 files changed, 20 insertions, 2 deletions
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