From 500252f1e45dd0ff0bfb86b0db6b5e1a0dd7d4b0 Mon Sep 17 00:00:00 2001 From: theMZet Date: Sat, 30 May 2026 00:49:59 +0200 Subject: [PATCH] refactor: pure command --- src/main.rs | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/src/main.rs b/src/main.rs index e20667f..a2ebb16 100644 --- a/src/main.rs +++ b/src/main.rs @@ -31,7 +31,7 @@ use error::*; use crate::{ package_manager::{get_system_state, get_unneeded_packages, remove_packages, update_packages}, - world::{World, get_world_location}, + world::{Packages, World, get_world_location}, }; #[cfg(all(feature = "yay", feature = "paru"))] @@ -254,27 +254,32 @@ fn main() -> Result<()> { let world = World::load_from(world_path)?; let state = get_system_state()?; - let aditional = { - let mut x = state.exclude(world.get_packages()); - x.ignore = world.get_packages().ignore.clone(); - x.official.extend(get_unneeded_packages()?); - x.exclude_ignored(); - x.get_package_list() - }; - - if aditional.is_empty() { - if !args.quiet { - println!("No packages to remove."); - } - return Ok(()); - } - - remove_packages(&aditional, all)?; + pure_command(&world, state, all, args.quiet)? } } Ok(()) } +fn pure_command(world: &World, state: Packages, all: bool, quiet: bool) -> Result<()> { + + let aditional = { + let mut x = state.exclude(world.get_packages()); + x.ignore = world.get_packages().ignore.clone(); + x.official.extend(get_unneeded_packages()?); + x.exclude_ignored(); + x.get_package_list() + }; + + if aditional.is_empty() { + if !quiet { + println!("No packages to remove."); + } + return Ok(()); + } + + remove_packages(&aditional, all) +} + fn root_file_exists(path: &OsStr) -> std::io::Result { let status = Command::new(PRIVLAGE_ESCELATE_COMMAND) .arg("test")