refactor: reuse executable list

This commit is contained in:
iff 2024-12-07 17:14:47 +01:00
parent 0ab8f269a1
commit f47bf23f6a
7 changed files with 35 additions and 42 deletions

View file

@ -1,20 +1,13 @@
use std::io::stderr;
use std::process::Command;
use std::process::Stdio;
use crate::shell::Data;
pub fn get_package_manager(shell: &str) -> Option<String> {
pub fn get_package_manager(data: &mut Data) -> Option<String> {
let package_managers = vec!["pacman"];
for package_manager in package_managers {
let success = Command::new(shell)
.arg("-c")
.arg(format!("command -v {}", package_manager))
.output()
.expect("failed to execute process")
.status
.success();
if success {
if data.has_executable(package_manager) {
return Some(package_manager.to_string());
}
}