diff options
author | garret <garret@airmail.cc> | 2021-10-09 15:19:59 +0100 |
---|---|---|
committer | garret <garret@airmail.cc> | 2021-10-09 15:19:59 +0100 |
commit | 52f3a086f2ad7a3bbc9b8f8225a99e9e99120613 (patch) | |
tree | 8786450c07ecb5904e929023dc00d02cb617d3fe /modules/garret/simpleconf.lua | |
parent | 04a61982e82a5df1cb2ec77a5d9752782a7c41e0 (diff) | |
download | aegisub-scripts-52f3a086f2ad7a3bbc9b8f8225a99e9e99120613.tar.gz aegisub-scripts-52f3a086f2ad7a3bbc9b8f8225a99e9e99120613.tar.bz2 aegisub-scripts-52f3a086f2ad7a3bbc9b8f8225a99e9e99120613.zip |
finally add config stuff
Diffstat (limited to 'modules/garret/simpleconf.lua')
-rw-r--r-- | modules/garret/simpleconf.lua | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/modules/garret/simpleconf.lua b/modules/garret/simpleconf.lua new file mode 100644 index 0000000..6d5f1a8 --- /dev/null +++ b/modules/garret/simpleconf.lua @@ -0,0 +1,46 @@ +-- primitive config handler + +local function tobool(value) + if value == "true" then + return true + elseif value == "false" then + return false + else + return nil + end +end + +local function cast(value) + return tonumber(value) or tobool(value) or value +end + +local function get_config(config_file, defaults) + local conf = defaults or {} + local ok, lines = pcall(io.lines, config_file) + if ok then + for line in lines do + local key, value = string.match(line, "(%a+)%s*=%s*(.+)") + conf[key] = cast(value) + end + end + return conf +end + +local simpleconf = {get_config = get_config} + + +local have_depctrl, depctrl = pcall(require, "l0.DependencyControl") + +if have_depctrl then + local version = depctrl{ + name = "Simple (bad) Config", + version = "0.1.0", + description = "primitive config handler", + author = "garret", + url = "http://github.com/garret1317/aegisub-scripts", + moduleName = "garret.simpleconf"} + simpleconf.version = version + return version:register(simpleconf) +else + return simpleconf +end |