Replace stream-based dumping interface with an outputrange-based interface (#154)

Replace stream-based dumping interface with an outputrange-based interface
merged-on-behalf-of: Cameron Ross <elpenguino@gmail.com>
This commit is contained in:
Cameron Ross 2018-06-22 00:59:10 -03:00 committed by The Dlang Bot
parent 8f9dafdef3
commit 8e0ca41eb5
17 changed files with 117 additions and 314 deletions

View file

@ -297,15 +297,17 @@ void main(string[] args)
//Generate and dump the nodes.
Node[] generated = generate(configFile);
auto dumper = Dumper(args[1]);
auto dumper = dumper(File(args[1], "w").lockingTextWriter);
auto encoding = config["encoding"];
dumper.encoding = encoding == "utf-16" ? Encoding.UTF_16:
encoding == "utf-32" ? Encoding.UTF_32:
Encoding.UTF_8;
dumper.indent = config["indent"].as!uint;
dumper.textWidth = config["text-width"].as!uint;
dumper.dump(generated);
switch(encoding.as!string)
{
case "utf-16": dumper.dump!wchar(generated); break;
case "utf-32": dumper.dump!dchar(generated); break;
default: dumper.dump!char(generated); break;
}
}
catch(YAMLException e)
{