Skip to content

Instantly share code, notes, and snippets.

@mcejp
Created May 1, 2023 12:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mcejp/2592f98a8c5fefed619d520aed5b0b22 to your computer and use it in GitHub Desktop.
Save mcejp/2592f98a8c5fefed619d520aed5b0b22 to your computer and use it in GitHub Desktop.
Pattern: line writer with indentation
class LineWriter:
def __init__(self, f, indent=0):
self._f = f
self._indent = indent
def indented(self) -> "LineSink":
return LineSink(self._f, self._indent + 1)
def write_line(self, s=None):
if s is not None:
self._f.write(" " * self._indent + s + "\n")
else:
self._f.write("\n")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment