def _mark_internal(data, name): """Add a simple name mark to raw YAML/JSON data. This is used by `spack config blame` to show where config lines came from. """ if isinstance(data, dict): d = syaml.syaml_dict((_mark_internal(k, name), _mark_internal(v, name)) for k, v in data.items()) elif isinstance(data, list): d = syaml.syaml_list(_mark_internal(e, name) for e in data) else: d = syaml.syaml_type(data) if syaml.markable(d): d._start_mark = yaml.Mark(name, None, None, None, None, None) d._end_mark = yaml.Mark(name, None, None, None, None, None) return d