foch-cli 0.0.2

EU4 mod analysis, merge and language server CLI
Documentation
use crate::cli::arg::SimplifyArgs;
use crate::cli::handler::{HandlerResult, resolve_input_source};
use foch::input::{Config, InputRequest};
use foch::simplify::{SimplifyOptions, run_simplify_with_options};

pub fn handle_simplify(simplify_args: &SimplifyArgs, config: Config) -> HandlerResult {
	let request = InputRequest::new(
		resolve_input_source(simplify_args.playset_path.as_deref(), &config)?,
		config,
	);
	let summary = run_simplify_with_options(
		request,
		SimplifyOptions {
			include_game_base: !simplify_args.no_game_base,
			target_mod_id: simplify_args.target.clone(),
			out_dir: simplify_args.out.clone(),
		},
	)?;
	println!(
		"simplify complete: target_root={} removed_definitions={} removed_files={} report={}",
		summary.target_root.display(),
		summary.removed_definition_count,
		summary.removed_file_count,
		summary.report_path.display()
	);
	Ok(0)
}