code: def docopt(
          doc, argv=None, help=True, version=None, options_first=False,
          script=None, colors=None):
      
      # docopt documentation is appended programmatically after this func def.
  
      global SCRIPT
      global ARGS_DESC, ARGS_HEADER, ARGS_LABEL, ARGS_OPTIONS
      global ARGS_SCRIPT, ARGS_VERSION
  
      SCRIPT = script
      if colors:
          # Setup colors, if any were given.
          ARGS_DESC.update(
              colors.get('desc', colors.get('description', {}))
          )
          ARGS_HEADER.update(colors.get('header', {}))
          ARGS_LABEL.update(colors.get('label', {}))
          ARGS_OPTIONS.update(colors.get('options', {}))
          ARGS_SCRIPT.update(colors.get('script', {}))
          ARGS_VERSION.update(colors.get('version', {}))
  
      return _old_docopt(
          doc,
          argv=argv,
          help=help,
          version=version,
          options_first=options_first,
      )
docs: This is a wrapper for docopt.docopt that also sets SCRIPT to `script`.
      When SCRIPT is set, it can be colorized for the usage string.
      A dict of Colr options can be passed with `colors` to alter the
      styles.
      Available color options keys:
          desc     : Colr args for the description of options.
          label    : Colr args for the 'Usage:' and 'Options:' labels.
          header   : Colr args for the top line (program name), and any
                     other line that is not indented at all.
          options  : Colr args for the options themselves ('-h,--help').
          script   : Colr args for the script name, if found in the usage
                     text.
          version  : Colr args for the version when --version is used.
  
      Example:
          # `colors` only updates the default settings. You must override
          # them to change ALL the settings.
          argd = docopt(
              ...,
              script=SCRIPT,
              colors={'script': {'fore': 'red'}}
          )
  
  Original docopt documentation follows: