1mod batch;
8pub mod command;
9mod direct;
11mod executor;
13mod logging;
15mod remove;
17mod scan;
19mod shell;
21mod single;
23mod utils;
25
26pub use batch::spawn_install_all;
27pub use logging::log_removed;
28mod patterns;
29pub use remove::{check_config_directories, spawn_remove_all};
30
31#[cfg(not(target_os = "windows"))]
32pub use scan::spawn::build_sleuth_command_for_terminal;
33
34#[cfg(not(target_os = "windows"))]
35#[allow(clippy::too_many_arguments)]
36#[allow(clippy::fn_params_excessive_bools)]
49pub fn spawn_aur_scan_for_with_config(
50 pkg: &str,
51 do_clamav: bool,
52 do_trivy: bool,
53 do_semgrep: bool,
54 do_shellcheck: bool,
55 do_virustotal: bool,
56 do_custom: bool,
57 do_sleuth: bool,
58) {
59 let sets = crate::install::patterns::load();
61 unsafe {
62 std::env::set_var("PACSEA_PATTERNS_CRIT", &sets.critical);
63 }
64 unsafe {
65 std::env::set_var("PACSEA_PATTERNS_HIGH", &sets.high);
66 }
67 unsafe {
68 std::env::set_var("PACSEA_PATTERNS_MEDIUM", &sets.medium);
69 }
70 unsafe {
71 std::env::set_var("PACSEA_PATTERNS_LOW", &sets.low);
72 }
73
74 scan::spawn_aur_scan_for_with_config(
76 pkg,
77 do_clamav,
78 do_trivy,
79 do_semgrep,
80 do_shellcheck,
81 do_virustotal,
82 do_custom,
83 do_sleuth,
84 );
85}
86pub use direct::{
87 start_integrated_install, start_integrated_install_all, start_integrated_remove_all,
88};
89#[cfg(not(target_os = "windows"))]
90pub use executor::build_scan_command_for_executor;
91pub use executor::{
92 ExecutorOutput, ExecutorRequest, build_downgrade_command_for_executor,
93 build_install_command_for_executor, build_remove_command_for_executor,
94 build_update_command_for_executor,
95};
96pub use shell::spawn_shell_commands_in_terminal;
97pub use single::spawn_install;
98pub use utils::command_on_path;
99#[cfg(not(target_os = "windows"))]
100pub use utils::editor_open_config_command;
101pub use utils::shell_single_quote;