docs: def _parse_version_file(version_file):
      """Get version info from the given file. It can be any of:
  
      Supported version file types (i.e. types of files from which we know
      how to parse the version string/number -- often by some convention):
      - json: use the "version" key
      - javascript: look for a `var VERSION = "1.2.3";` or
        `var VERSION = '1.2.3';`
      - python: Python script/module with `__version_info__ = (1, 2, 3)`
      - version: a VERSION.txt or VERSION file where the whole contents are
        the version string
  
      @param version_file {str} Can be a path or "type:path", where "type"
          is one of the supported types.
      """
      # Get version file *type*.
      version_file_type = None
      match = re.compile("^([a-z]+):(.*)$").search(version_file)
      if match:
          version_file = match.group(2)
          version_file_type = match.group(1)
          aliases = {
              "js": "javascript"
          }
          if version_file_type in aliases:
              version_file_type = aliases[version_file_type]
  
      f = codecs.open(version_file, 'r', 'utf-8')
      content = f.read()
      f.close()
  
      if not version_file_type:
          # Guess the type.
          base = basename(version_file)
          ext = splitext(base)[1]
          if ext == ".json":
              version_file_type = "json"
          elif ext == ".py":
              version_file_type = "python"
          elif ext == ".js":
              version_file_type = "javascript"
          elif content.startswith("#!"):
              shebang = content.splitlines(False)[0]
              shebang_bits = re.split(r'[/ \t]', shebang)
              for name, typ in {"python": "python", "node": "javascript"}.items():
                  if name in shebang_bits:
                      version_file_type = typ
                      break
          elif base in ("VERSION", "VERSION.txt"):
              version_file_type = "version"
      if not version_file_type:
          raise RuntimeError("can't extract version from '%s': no idea "
              "what type of file it it" % version_file)
  
      if version_file_type == "json":
          obj = json.loads(content)
          version_info = _version_info_from_version(obj["version"])
      elif version_file_type == "python":
          m = re.search(r'^__version_info__ = (.*?)$', content, re.M)
          version_info = eval(m.group(1))
      elif version_file_type == "javascript":
          m = re.search(r'^var VERSION = (\'|")(.*?)\1;$', content, re.M)
          version_info = _version_info_from_version(m.group(2))
      elif version_file_type == "version":
          version_info = _version_info_from_version(content.strip())
      else:
          raise RuntimeError("unexpected version_file_type: %r"
              % version_file_type)
      return version_file_type, version_info