writer.py 372 B

12345678910111213141516
  1. class Writer:
  2. def __init__(self) -> None:
  3. self.buffer = []
  4. self.indent_level = 0
  5. def indent(self):
  6. self.indent_level += 1
  7. def dedent(self):
  8. self.indent_level -= 1
  9. def write(self, line: str):
  10. self.buffer.append(' ' * self.indent_level + line)
  11. def __str__(self) -> str:
  12. return '\n'.join(self.buffer)