I think I'd rather go back to the punch card approach where you put a C in column 6 for line continuation.
On Fri, Apr 26, 2019 at 2:49 PM Walt Karas <wka...@verizonmedia.com> wrote: > TL;DR love of Satan > > On Fri, Apr 26, 2019 at 2:48 PM Derek Dagit <da...@apache.org> wrote: > >> I think it should be consistent. >> >> The first line establishes an indentation width of 2 spaces. >> >> The second line is a list element that itself is a map of one entry, and >> your multi-line text is the value for this entry. >> >> Since it is nested, in effect we need to indent twice, and so I think that >> is why 4 spaces works when 2 does not in this case. >> >> On Fri, Apr 26, 2019 at 2:32 PM Walt Karas <wka...@verizonmedia.com >> .invalid> >> wrote: >> >> > So, it seems that with YAML, it sometimes matters whether you use 4 >> spaces >> > of indentation rather that 2 space of indentation. Is there some >> reason we >> > are choosing to use YAML, other than sheer love of Satan? >> > >> > $ cat load.py >> > >> > import yaml >> > >> > import sys >> > >> > f = open(sys.argv[1], 'r') >> > >> > y = yaml.load(f) >> > >> > print(y) >> > >> > $ >> > >> > $ cat y1.yaml >> > >> > a: >> > >> > - b: | >> > >> > one >> > >> > two >> > >> > - c: | >> > >> > three >> > >> > four >> > >> > $ >> > >> > $ cat y2.yaml >> > >> > a: >> > >> > - b: | >> > >> > one >> > >> > two >> > >> > - c: | >> > >> > three >> > >> > four >> > >> > $ >> > >> > $ python load.py y1.yaml >> > >> > {'a': [{'b': 'one\ntwo\n'}, {'c': 'three\nfour\n'}]} >> > >> > $ >> > >> > $ python load.py y2.yaml >> > >> > Traceback (most recent call last): >> > >> > File "load.py", line 4, in <module> >> > >> > y = yaml.load(f) >> > >> > File "/usr/local/lib/python2.7/site-packages/yaml/__init__.py", line >> 71, >> > in load >> > >> > return loader.get_single_data() >> > >> > File "/usr/local/lib/python2.7/site-packages/yaml/constructor.py", >> line >> > 37, in get_single_data >> > >> > node = self.get_single_node() >> > >> > File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line >> 36, >> > in get_single_node >> > >> > document = self.compose_document() >> > >> > File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line >> 55, >> > in compose_document >> > >> > node = self.compose_node(None, None) >> > >> > File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line >> 84, >> > in compose_node >> > >> > node = self.compose_mapping_node(anchor) >> > >> > File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line >> 133, >> > in compose_mapping_node >> > >> > item_value = self.compose_node(node, item_key) >> > >> > File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line >> 82, >> > in compose_node >> > >> > node = self.compose_sequence_node(anchor) >> > >> > File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line >> 111, >> > in compose_sequence_node >> > >> > node.value.append(self.compose_node(node, index)) >> > >> > File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line >> 84, >> > in compose_node >> > >> > node = self.compose_mapping_node(anchor) >> > >> > File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line >> 127, >> > in compose_mapping_node >> > >> > while not self.check_event(MappingEndEvent): >> > >> > File "/usr/local/lib/python2.7/site-packages/yaml/parser.py", line >> 98, in >> > check_event >> > >> > self.current_event = self.state() >> > >> > File "/usr/local/lib/python2.7/site-packages/yaml/parser.py", line >> 428, >> > in parse_block_mapping_key >> > >> > if self.check_token(KeyToken): >> > >> > File "/usr/local/lib/python2.7/site-packages/yaml/scanner.py", line >> 115, >> > in check_token >> > >> > while self.need_more_tokens(): >> > >> > File "/usr/local/lib/python2.7/site-packages/yaml/scanner.py", line >> 149, >> > in need_more_tokens >> > >> > self.stale_possible_simple_keys() >> > >> > File "/usr/local/lib/python2.7/site-packages/yaml/scanner.py", line >> 289, >> > in stale_possible_simple_keys >> > >> > "could not find expected ':'", self.get_mark()) >> > >> > yaml.scanner.ScannerError: while scanning a simple key >> > >> > in "y2.yaml", line 3, column 5 >> > >> > could not find expected ':' >> > >> > in "y2.yaml", line 4, column 5 >> > >> >