def METHOD_NAME() -> None:
    p = argparse.ArgumentParser(formatter_class=argparse.RawDescriptionHelpFormatter)
    p.add_argument('filenames', nargs='+')
    p.add_argument('--passes', type=int, default=1,
                   help="Number of passes (0 means unlimited)")
    p.add_argument('--pattern', required=True, action='append',
                   default=[], dest='patterns',
                   help="Pattern to scan for")
    p.add_argument('--inplace', '-i', action='store_true',
                   help="Patch file in place")
    p.add_argument('--dry-run', action='store_true',
                   help="Don't patch files or print patching results")
    p.add_argument('--force', '-f', action='store_true',
                   help="Perform changes even if not completely safe")
    p.add_argument('--diff', action='store_true',
                   help="Print diff output on stdout")
    p.add_argument('--debug', '-d', action='store_true',
                   help="Enable debugging")
    p.add_argument('--verbose', '-v', action='store_true',
                   help="Verbose logging on stderr")
    p.add_argument('--table', action='store_true',
                   help="Print CSV table of type information")
    p.add_argument_group("Valid pattern names",
                         PATTERN_HELP)
    args = p.parse_args()
    loglevel = (logging.DEBUG if args.debug
             else logging.INFO if args.verbose
             else logging.WARN)
    logging.basicConfig(format='%(levelname)s: %(message)s', level=loglevel)
    DBG("args: %r", args)
    process_all_files(p, args)