code: def create_argument_parser():
      
      parser = argparse.ArgumentParser(prog='haas')
      parser.add_argument('--version', action='version',
                          version='%(prog)s {0}'.format(haas.__version__))
      verbosity = parser.add_mutually_exclusive_group()
      verbosity.add_argument('-v', '--verbose', action='store_const', default=1,
                             dest='verbosity', const=2, help='Verbose output')
      verbosity.add_argument('-q', '--quiet', action='store_const', const=0,
                             dest='verbosity', help='Quiet output')
      parser.add_argument('-f', '--failfast', action='store_true', default=False,
                          help='Stop on first fail or error')
      parser.add_argument('-c', '--catch', dest='catch_interrupt',
                          action='store_true', default=False,
                          help=('(Ignored) Catch ctrl-C and display results so '
                                'far'))
      parser.add_argument('-b', '--buffer', action='store_true', default=False,
                          help='Buffer stdout and stderr during tests')
      parser.add_argument(
          'start', nargs='*', default=[os.getcwd()],
          help=('One or more directories or dotted package/module names from '
                'which to start searching for tests'))
      parser.add_argument('-p', '--pattern', default='test*.py',
                          help="Pattern to match tests ('test*.py' default)")
      parser.add_argument('-t', '--top-level-directory', default=None,
                          help=('Top level directory of project (defaults to '
                                'start directory)'))
      _add_log_level_option(parser)
      return parser
docs: Creates the argument parser for haas.