aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ext_depends/D-YAML/examples/resolver/main.d
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext_depends/D-YAML/examples/resolver/main.d')
-rw-r--r--src/ext_depends/D-YAML/examples/resolver/main.d36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/ext_depends/D-YAML/examples/resolver/main.d b/src/ext_depends/D-YAML/examples/resolver/main.d
new file mode 100644
index 0000000..f3c08a1
--- /dev/null
+++ b/src/ext_depends/D-YAML/examples/resolver/main.d
@@ -0,0 +1,36 @@
+import std.regex;
+import std.stdio;
+import dyaml;
+
+int main(string[] args)
+{
+ string path = "input.yaml";
+ if (args.length > 1)
+ {
+ path = args[1];
+ }
+
+ try
+ {
+
+ auto loader = Loader.fromFile("input.yaml");
+ loader.resolver.addImplicitResolver("!color", regex("[0-9a-fA-F]{6}"),
+ "0123456789abcdefABCDEF");
+
+ auto root = loader.load();
+
+ if(root["scalar-red"].tag == "!color" &&
+ root["scalar-orange"].tag == "!color")
+ {
+ writeln("SUCCESS");
+ return 0;
+ }
+ }
+ catch(YAMLException e)
+ {
+ writeln(e.msg);
+ }
+
+ writeln("FAILURE");
+ return 1;
+}