Comparison

core/configmanager.lua @ 9876:d812031c8716

configmanager: Pass through warnings from included files
author Matthew Wild <mwild1@gmail.com>
date Wed, 20 Mar 2019 12:45:08 +0000
parent 9875:99291e124449
child 10198:83541f0ff14f
comparison
equal deleted inserted replaced
9875:99291e124449 9876:d812031c8716
5 -- This project is MIT/X11 licensed. Please see the 5 -- This project is MIT/X11 licensed. Please see the
6 -- COPYING file in the source package for more information. 6 -- COPYING file in the source package for more information.
7 -- 7 --
8 8
9 local _G = _G; 9 local _G = _G;
10 local setmetatable, rawget, rawset, io, os, error, dofile, type, pairs = 10 local setmetatable, rawget, rawset, io, os, error, dofile, type, pairs, ipairs =
11 setmetatable, rawget, rawset, io, os, error, dofile, type, pairs; 11 setmetatable, rawget, rawset, io, os, error, dofile, type, pairs, ipairs;
12 local format, math_max, t_insert = string.format, math.max, table.insert; 12 local format, math_max, t_insert = string.format, math.max, table.insert;
13 13
14 local envload = require"util.envload".envload; 14 local envload = require"util.envload".envload;
15 local deps = require"util.dependencies"; 15 local deps = require"util.dependencies";
16 local resolve_relative_path = require"util.paths".resolve_relative_path; 16 local resolve_relative_path = require"util.paths".resolve_relative_path;
210 file = resolve_relative_path(config_file:gsub("[^"..path_sep.."]+$", ""), file); 210 file = resolve_relative_path(config_file:gsub("[^"..path_sep.."]+$", ""), file);
211 local f, err = io.open(file); 211 local f, err = io.open(file);
212 if f then 212 if f then
213 local ret, err = parser.load(f:read("*a"), file, config_table); 213 local ret, err = parser.load(f:read("*a"), file, config_table);
214 if not ret then error(err:gsub("%[string.-%]", file), 0); end 214 if not ret then error(err:gsub("%[string.-%]", file), 0); end
215 if err then
216 for _, warning in ipairs(err) do
217 t_insert(warnings, warning);
218 end
219 end
215 end 220 end
216 if not f then error("Error loading included "..file..": "..err, 0); end 221 if not f then error("Error loading included "..file..": "..err, 0); end
217 return f, err; 222 return f, err;
218 end 223 end
219 env.include = env.Include; 224 env.include = env.Include;