docs: def configuration_callback(cmd_name, option_name, config_file_name,
                             saved_callback, provider, implicit, ctx,
                             param, value):
      """
      Callback for reading the config file.
  
      Also takes care of calling user specified custom callback afterwards.
  
      cmd_name : str
          The command name. This is used to determine the configuration directory.
      option_name : str
          The name of the option. This is used for error messages.
      config_file_name : str
          The name of the configuration file.
      saved_callback: callable
          User-specified callback to be called later.
      provider : callable
          A callable that parses the configuration file and returns a dictionary
          of the configuration parameters. Will be called as
          `provider(file_path, cmd_name)`. Default: `configobj_provider()`
      implicit : bool
          Whether a implicit value should be applied if no configuration option
          value was provided.
          Default: `False`
      ctx : object
          Click context.
      """
      ctx.default_map = ctx.default_map or {}
      cmd_name = cmd_name or ctx.info_name
  
      if implicit:
          default_value = os.path.join(
              click.get_app_dir(cmd_name), config_file_name)
          param.default = default_value
          value = value or default_value
  
      if value:
          try:
              config = provider(value, cmd_name)
          except Exception as e:
              raise click.BadOptionUsage(option_name,
                  "Error reading configuration file: {}".format(e), ctx)
          ctx.default_map.update(config)
  
      return saved_callback(ctx, param, value) if saved_callback else value