summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xprettyml15
1 files changed, 13 insertions, 2 deletions
diff --git a/prettyml b/prettyml
index f4fbb5e..e15b3b2 100755
--- a/prettyml
+++ b/prettyml
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
import sys
@@ -12,7 +12,18 @@ def inputs(args):
else:
yield '-', sys.stdin
+
+def string_representer(dumper, data):
+ style = None
+ if '\n' in data:
+ style = '|'
+ return dumper.represent_scalar('tag:yaml.org,2002:str', data, style=style)
+
+
+yaml.add_representer(str, string_representer, Dumper=yaml.SafeDumper)
+
+
objs = []
for filename, f in inputs(sys.argv[1:]):
- objs.append(yaml.safe_load(f))
+ objs.append(yaml.load(f, Loader=yaml.CSafeLoader))
yaml.safe_dump_all(objs, stream=sys.stdout, indent=4, default_flow_style=False)