code: func confirmationMessage(dockerCli command.Cli, options pruneOptions) string {
  	t := template.Must(template.New("confirmation message").Parse(confirmationTemplate))
  
  	warnings := []string{
  		"all stopped containers",
  		"all networks not used by at least one container",
  	}
  	if options.pruneVolumes {
  		warnings = append(warnings, "all volumes not used by at least one container")
  	}
  	if options.all {
  		warnings = append(warnings, "all images without at least one container associated to them")
  	} else {
  		warnings = append(warnings, "all dangling images")
  	}
  	if options.pruneBuildCache {
  		if options.all {
  			warnings = append(warnings, "all build cache")
  		} else {
  			warnings = append(warnings, "all dangling build cache")
  		}
  	}
  
  	var filters []string
  	pruneFilters := command.PruneFilters(dockerCli, options.filter.Value())
  	if pruneFilters.Len() > 0 {
  		// TODO remove fixed list of filters, and print all filters instead,
  		// because the list of filters that is supported by the engine may evolve over time.
  		for _, name := range []string{"label", "label!", "until"} {
  			for _, v := range pruneFilters.Get(name) {
  				filters = append(filters, name+"="+v)
  			}
  		}
  		sort.Slice(filters, func(i, j int) bool {
  			return sortorder.NaturalLess(filters[i], filters[j])
  		})
  	}
  
  	var buffer bytes.Buffer
  	t.Execute(&buffer, map[string][]string{"warnings": warnings, "filters": filters})
  	return buffer.String()
  }
docs: // confirmationMessage constructs a confirmation message that depends on the cli options.