diff options
Diffstat (limited to 'config.lua')
| -rw-r--r-- | config.lua | 22 |
1 files changed, 20 insertions, 2 deletions
@@ -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 |
