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)
}