|
|
|
use std::process::Command;
|
|
|
|
|
|
|
|
use crate::internal::rpc::rpcsearch;
|
|
|
|
use crate::{log, Options};
|
|
|
|
|
|
|
|
pub fn aur_search(a: &str, options: Options) {
|
|
|
|
let verbosity = options.verbosity;
|
|
|
|
let res = rpcsearch(a.to_string());
|
|
|
|
|
|
|
|
if verbosity >= 1 {
|
|
|
|
log(format!(
|
|
|
|
"Found {} resuls for \"{}\" in AUR",
|
|
|
|
res.resultcount, a
|
|
|
|
));
|
|
|
|
}
|
|
|
|
|
|
|
|
for r in &res.results {
|
|
|
|
println!(
|
|
|
|
"aur/{} {}\n {}",
|
|
|
|
r.name,
|
|
|
|
r.version,
|
|
|
|
r.description
|
|
|
|
.as_ref()
|
|
|
|
.unwrap_or(&"No description".to_string())
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
pub fn repo_search(a: &str, options: Options) {
|
|
|
|
let verbosity = options.verbosity;
|
|
|
|
let rs = Command::new("pacman")
|
|
|
|
.arg("-Ss")
|
|
|
|
.arg(format!("^{}$", &a))
|
|
|
|
.output()
|
|
|
|
.expect("Something has gone wrong");
|
|
|
|
|
|
|
|
let str = String::from_utf8(rs.stdout).unwrap();
|
|
|
|
|
|
|
|
if verbosity >= 1 {
|
|
|
|
log(format!(
|
|
|
|
"Found {} results for \"{}\" in repos",
|
|
|
|
&str.split('\n').count() / 2,
|
|
|
|
&a
|
|
|
|
));
|
|
|
|
}
|
|
|
|
|
|
|
|
print!("{}", str);
|
|
|
|
}
|