code: def iterlines(
      stdout_lines,
      *,
      line_indent: str = INDENT,
      wrap_after: int = WRAP_AFTER,
  ) -> typing.Iterator[str]:
      """Yield post-processed help() stdout lines: rstrip, indent, wrap."""
      for line in stdout_lines:
          line = line.rstrip() + "\n"
          line = line.replace("``'\\n'``", r"``'\\n'``")
  
          if len(line) > wrap_after and ARGS_LINE.match(line):
              indent = line_indent + " " * (line.index("(") + 1)
  
              *start, rest = line.partition("(")
              argument_line, *rest = rpartition_initial(
                  rest, sep=" -> "
              )
  
              arguments = list(iterarguments(argument_line))
              print(
                  len(line),
                  "character line wrapped into",
                  len(arguments),
                  "lines",
              )
              assert len(arguments) > 1, "wrapped long argument line"
  
              line = "".join(
                  start + [f"\n{indent}".join(arguments)] + rest
              )
  
          yield line_indent + line
  
file_path: graphviz/update-help.py
imports: import contextlib
  import difflib
  import io
  import operator
  import pathlib
  import re
  import sys
  import typing
  import graphviz
label_desc: Use image node_id 4 for calling a global function with example usage: iterlines(stdout_lines) without return types