diff options
author | Ruamel/Anthon van der Neut <bitbucket@ruamel.eu> | 2018-09-19 19:08:58 +0000 |
---|---|---|
committer | Ruamel/Anthon van der Neut <bitbucket@ruamel.eu> | 2018-09-19 19:08:58 +0000 |
commit | ae9ec4ee6738d0ed07d60d67e95ebbb09484313d (patch) | |
tree | 0c3eb5aa2fcae9eddcd705a15dc9e21f4d7bafcc | |
parent | 25fa66864a90c92ef0cc2f6fed3850d3978aa89c (diff) | |
parent | c242392fb97608e4f0859163cecec34773146542 (diff) | |
download | ruamel.yaml-ae9ec4ee6738d0ed07d60d67e95ebbb09484313d.tar.gz |
Merged in sixolet/ruamel-yaml/indent-properly (pull request #37)
Stop explicitly-indented literals from stacking with flow-based indents.
-rw-r--r-- | _test/test_literal.py | 12 | ||||
-rw-r--r-- | emitter.py | 9 |
2 files changed, 17 insertions, 4 deletions
diff --git a/_test/test_literal.py b/_test/test_literal.py index 698ece5..a9b34e1 100644 --- a/_test/test_literal.py +++ b/_test/test_literal.py @@ -217,6 +217,18 @@ class TestNoIndent: print(type(d), repr(d)) yaml.round_trip(inp) + def test_nested_literal_doc_indent_marker(self): + yaml = YAML() + yaml.explicit_start = True + inp = """ + --- + a: |2 + some more + text + """ + d = yaml.load(inp) + print(type(d), repr(d)) + yaml.round_trip(inp) class Test_RoundTripLiteral: def test_rt_root_literal_scalar_no_indent(self): @@ -1485,10 +1485,11 @@ class Emitter(object): self.write_line_break() else: self.write_line_break(br) - if ch is not None and (not self.root_context or self.requested_indent): - self.write_indent() - if ch is not None and _indent: - self.stream.write(u' ' * _indent) + if ch is not None: + if _indent: + self.stream.write(u' ' * _indent) + elif not self.root_context or self.requested_indent: + self.write_indent() start = end else: if ch is None or ch in u'\n\x85\u2028\u2029': |