[core] rewrite config parser
* no more hash values - only lists and list of key-value pairs * "master" config: the config loaded on startup can use all features, configs loaded later (vhost on demand from sql...) can't use include* and cannot modify global vars. * scoped variables - add a global var store in the server struct - global vars can be set with "global foo = bar" - if a variable already exists in a scope it will be modified on a write, otherwise a new local variable is created - global vars won't be modified if not in "master" mode - vars can be made explicitly local with "local foo = bar"; create a local copy with "local foo = foo" - globals vars are available in live config loads for reading - each file and action block {...} creates a new scope; if/else branches do NOT create a new scope * to append a value to a list use "l + [v]" (not "l + v" anymore); lists are concatenated with "+" * [...] always marks a list * (...) is a list if it contains a "," or "=>", otherwise it justs groups an expression * a list can either contain key-value pairs or other values. mixing is not allowedpersonal/stbuehler/wip
parent
a1fbaab86b
commit
e76ebe2021
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue