aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ext_depends/D-YAML/examples/resolver
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext_depends/D-YAML/examples/resolver')
-rw-r--r--src/ext_depends/D-YAML/examples/resolver/dub.json10
-rw-r--r--src/ext_depends/D-YAML/examples/resolver/input.yaml8
-rw-r--r--src/ext_depends/D-YAML/examples/resolver/main.d36
3 files changed, 54 insertions, 0 deletions
diff --git a/src/ext_depends/D-YAML/examples/resolver/dub.json b/src/ext_depends/D-YAML/examples/resolver/dub.json
new file mode 100644
index 0000000..30b55d8
--- /dev/null
+++ b/src/ext_depends/D-YAML/examples/resolver/dub.json
@@ -0,0 +1,10 @@
+{
+ "name": "resolver",
+ "targetType": "executable",
+ "sourceFiles": ["main.d"],
+ "mainSourceFile": "main.d",
+ "dependencies":
+ {
+ "dyaml": { "version" : "*" }
+ }
+}
diff --git a/src/ext_depends/D-YAML/examples/resolver/input.yaml b/src/ext_depends/D-YAML/examples/resolver/input.yaml
new file mode 100644
index 0000000..99b9a5a
--- /dev/null
+++ b/src/ext_depends/D-YAML/examples/resolver/input.yaml
@@ -0,0 +1,8 @@
+scalar-red: FF0000
+scalar-orange: FFFF00
+mapping-red: !color-mapping {r: 255, g: 0, b: 0}
+mapping-orange:
+ !color-mapping
+ r: 255
+ g: 255
+ b: 0
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;
+}