summaryrefslogtreecommitdiff
path: root/parser.py
diff options
context:
space:
mode:
authorAnthon van der Neut <anthon@mnt.org>2019-08-15 12:18:08 +0200
committerAnthon van der Neut <anthon@mnt.org>2019-08-15 12:18:08 +0200
commitff8e03fe5542a9d7930a5720450c59bb9e9eaaf3 (patch)
tree6f22060b92e421ca0bad2a2df0eb499518c4b07e /parser.py
parentc355613aea4e2045fa5360837bd0b622fb84877b (diff)
downloadruamel.yaml-ff8e03fe5542a9d7930a5720450c59bb9e9eaaf3.tar.gz
preserve directives, optional push root level scalar to own line
You need to set YAML().scalar_after_indicator = False to get a single scalar document starting on its own line (instead of after the directives end indicator: --- abc") fixes issue #304 *When this change indeed resolves your problem, please **Close** this issue*. *(You can do so using the WorkFlow pull-down (close to the top right of this page))*
Diffstat (limited to 'parser.py')
-rw-r--r--parser.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/parser.py b/parser.py
index 9793b42..566d13a 100644
--- a/parser.py
+++ b/parser.py
@@ -219,6 +219,9 @@ class Parser(object):
)
token = self.scanner.get_token()
end_mark = token.end_mark
+ # if self.loader is not None and \
+ # end_mark.line != self.scanner.peek_token().start_mark.line:
+ # self.loader.scalar_after_indicator = False
event = DocumentStartEvent(
start_mark, end_mark, explicit=True, version=version, tags=tags
) # type: Any
@@ -295,6 +298,12 @@ class Parser(object):
value = self.yaml_version, self.tag_handles.copy() # type: Any
else:
value = self.yaml_version, None
+ if self.loader is not None and hasattr(self.loader, 'tags'):
+ self.loader.version = self.yaml_version
+ if self.loader.tags is None:
+ self.loader.tags = {}
+ for k in self.tag_handles:
+ self.loader.tags[k] = self.tag_handles[k]
for key in self.DEFAULT_TAGS:
if key not in self.tag_handles:
self.tag_handles[key] = self.DEFAULT_TAGS[key]