dprint 0.11.1

Binary for dprint code formatter—a pluggable and configurable code formatting platform.
use dprint_cli_core::types::ErrBox;

use crate::environment::Environment;
use crate::utils::ErrorCountLogger;
use super::InitializedPlugin;

pub fn output_plugin_config_diagnostics<TEnvironment: Environment>(
    plugin_name: &str,
    plugin: &Box<dyn InitializedPlugin>,
    error_logger: &ErrorCountLogger<TEnvironment>,
) -> Result<(), ErrBox> {
    let mut diagnostic_count = 0;

    for diagnostic in plugin.get_config_diagnostics()? {
        error_logger.log_error(&format!("[{}]: {}", plugin_name, diagnostic.message));
        diagnostic_count += 1;
    }

    if diagnostic_count > 0 {
        err!("[{}]: Error initializing from configuration file. Had {} diagnostic(s).", plugin_name, diagnostic_count)
    } else {
        Ok(())
    }
}