class_docstr: Patched version of click's HelpFormatter class.
  
  Overrides write_dl to support preserve paragraphs.
class_docstr_tok: ["Patched","version","of","click","'s","HelpFormatter","class",".","Overrides","write_dl","to","support","preserve","paragraphs","."]
code: def write_dl(
      self, rows, col_max=30, col_spacing=2, preserve_paragraphs=False
  ):
      rows = list(rows)
      widths = click.formatting.measure_table(rows)
      if len(widths) != 2:
          raise TypeError("Expected two columns for definition list")
  
      first_col = min(widths[0], col_max) + col_spacing
  
      for first, second in click.formatting.iter_rows(
          rows, len(widths)
      ):
          self.write(f"{'':>{self.current_indent}}{first}")
          if not second:
              self.write("\n")
              continue
          if (
              click.formatting.term_len(first)
              <= first_col - col_spacing
          ):
              self.write(
                  " " * (first_col - click.formatting.term_len(first))
              )
          else:
              self.write("\n")
              self.write(" " * (first_col + self.current_indent))
  
          text_width = max(self.width - first_col - 2, 10)
          wrapped_text = click.formatting.wrap_text(
              second,
              text_width,
              preserve_paragraphs=preserve_paragraphs,
          )
          lines = wrapped_text.splitlines()
  
          if lines:
              self.write(f"{lines[0]}\n")
  
              for line in lines[1:]:
                  self.write(
                      f"{'':>{first_col + self.current_indent}}{line}\n"
                  )
  
              if len(lines) > 1:
                  # separate long help from next option
                  self.write("\n")
          else:
              self.write("\n")
  
imports: import contextlib
  import functools
  import json
  import os
  import re
  import click
  from click import shell_completion
  import guild
  from guild import python_util
label_desc: Use image node_id 1 for calling the ClickBaseHelpFormatter obj's underlying member method code with example usage: obj.write_dl(rows, col_max, col_spacing, preserve_paragraphs) without return types