I recently thought of the idea of using string imports for
compile time configuration.
Something like this
---
import std.stdio;
import std.conv;
import std.range;
import std.algorithm;
string getVar(string fname,string var)(){
foreach(property;import(fname).splitter('\n')){
auto varname=property[0..property.countUntil("=")];
if(var==varname){
return property[property.countUntil("=")+1..$];
}
}
assert(0, "unable to find property");
}
enum dimisions=getVar!("shapes","dimisions").to!uint;
void main()
{
writeln("There are ",dimisions," dimisions");
}
---
Where you add your config dir(that contains "shapes") file to
dub's stringImportPaths".
How do you guys feel about this? Should we use something like
json for config files?