summaryrefslogtreecommitdiff
path: root/parser.py
diff options
context:
space:
mode:
authorAnthon van der Neut <anthon@mnt.org>2016-11-28 18:02:34 +0100
committerAnthon van der Neut <anthon@mnt.org>2016-11-28 18:02:34 +0100
commit786fc2f80aa5c2d626674c7c9125c4c3be874af6 (patch)
treeeedc7a090bcecc52ce4925cc76af8f1090792c9f /parser.py
parent0ab4dd3ca904554aecc272d707ce1946a56a50d4 (diff)
downloadruamel.yaml-786fc2f80aa5c2d626674c7c9125c4c3be874af6.tar.gz
addresses #25 comment after empty (null) values0.13.2
can remove comment between key en value
Diffstat (limited to 'parser.py')
-rw-r--r--parser.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/parser.py b/parser.py
index bb9c96c..dc5d57f 100644
--- a/parser.py
+++ b/parser.py
@@ -515,13 +515,17 @@ class Parser(object):
if self.check_token(ValueToken):
token = self.get_token()
# value token might have post comment move it to e.g. block
- token.move_comment(self.peek_token())
+ if self.check_token(ValueToken):
+ token.move_comment(self.peek_token())
+ else:
+ token.move_comment(self.peek_token(), empty=True)
if not self.check_token(KeyToken, ValueToken, BlockEndToken):
self.states.append(self.parse_block_mapping_key)
return self.parse_block_node_or_indentless_sequence()
else:
self.state = self.parse_block_mapping_key
- return self.process_empty_scalar(token.end_mark)
+ return self.process_empty_scalar(token.end_mark,
+ comment=self.peek_token().comment)
else:
self.state = self.parse_block_mapping_key
token = self.peek_token()
@@ -660,8 +664,8 @@ class Parser(object):
self.state = self.parse_flow_mapping_key
return self.process_empty_scalar(self.peek_token().start_mark)
- def process_empty_scalar(self, mark):
- return ScalarEvent(None, None, (True, False), u'', mark, mark)
+ def process_empty_scalar(self, mark, comment=None):
+ return ScalarEvent(None, None, (True, False), u'', mark, mark, comment=comment)
class RoundTripParser(Parser):