class_docstr: This class helps with formatting text-based help pages.  It's
  usually just needed for very special internal cases, but it's also
  exposed so that developers can write their own fancy outputs.
  
  At present, it always writes into memory.
  
  :param indent_increment: the additional increment for each level.
  :param width: the width for the text.  This defaults to the terminal
                width clamped to a maximum of 78.
docstr: Writes a usage line into the buffer.
  
  :param prog: the program name.
  :param args: whitespace separated list of arguments.
  :param prefix: the prefix for the first line.
docstr_tok: ["Writes","a","usage","line","into","the","buffer",".",":","param","prog",":","the","program","name",".",":","param","args",":","whitespace","separated","list","of","arguments",".",":","param","prefix",":","the","prefix","for","the","first","line","."]
code: def write_usage(self, prog, args="", prefix="Usage: "):
      """Writes a usage line into the buffer.
  
      :param prog: the program name.
      :param args: whitespace separated list of arguments.
      :param prefix: the prefix for the first line.
      """
      usage_prefix = "{:>{w}}{} ".format(
          prefix, prog, w=self.current_indent
      )
      text_width = self.width - self.current_indent
  
      if text_width >= (term_len(usage_prefix) + 20):
          # The arguments will fit to the right of the prefix.
          indent = " " * term_len(usage_prefix)
          self.write(
              wrap_text(
                  args,
                  text_width,
                  initial_indent=usage_prefix,
                  subsequent_indent=indent,
              )
          )
      else:
          # The prefix is too long, put the arguments on the next line.
          self.write(usage_prefix)
          self.write("\n")
          indent = " " * (
              max(self.current_indent, term_len(prefix)) + 4
          )
          self.write(
              wrap_text(
                  args,
                  text_width,
                  initial_indent=indent,
                  subsequent_indent=indent,
              )
          )
  
      self.write("\n")
  
imports: from contextlib import contextmanager
  from ._compat import term_len
  from .parser import split_opt
  from .termui import get_terminal_size
label_desc: Use image node_id 5 for calling the HelpFormatter obj's underlying member method code with example usage: obj.write_usage(prog, args, prefix) without return types