code: def main() -> None:
      
      logging.basicConfig(level=logging.DEBUG)
      parser = argparse.ArgumentParser()
      parser.add_argument("inputfile", nargs="?", help="Input file name")
      parser.add_argument(
          "--availability", nargs='*',
          help="File extensions to check availability for (use a '.' prefix, "
               "and use the special extension 'None' to check the fallback "
               "processor")
      parser.add_argument(
          "--plain", action="store_true",
          help="Keep it plain: minimize layout (e.g. of tables) and maximize "
               "the likelihood of source sentence flowing properly in the "
               "output (e.g. for natural language processing).")
      parser.add_argument(
          "--width", type=int, default=DEFAULT_WIDTH,
          help="Word wrapping width (default {})".format(DEFAULT_WIDTH))
      parser.add_argument(
          "--min-col-width", type=int, default=DEFAULT_MIN_COL_WIDTH,
          help="Minimum column width for tables (default {})".format(
              DEFAULT_MIN_COL_WIDTH))
      args = parser.parse_args()
      if args.availability:
          for ext in args.availability:
              if ext.lower() == 'none':
                  ext = None
              available = is_text_extractor_available(ext)
              print("Extractor for extension {} present: {}".format(ext,
                                                                    available))
          return
      if not args.inputfile:
          parser.print_help(sys.stderr)
          return
      config = TextProcessingConfig(
          width=args.width,
          min_col_width=args.min_col_width,
          plain=args.plain,
      )
      result = document_to_text(filename=args.inputfile, config=config)
      if result is None:
          return
      else:
          print(result)
docs: Command-line processor. See ``--help`` for details.