You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
amethyst/src/operations/search.rs

45 lines
1.0 KiB
Rust

3 years ago
use crate::internal::rpc::rpcsearch;
use crate::Options;
use std::process::Command;
pub fn aur_search(a: &str, options: Options) {
let verbosity = options.verbosity;
let res = rpcsearch(a.to_string());
if verbosity >= 1 {
eprintln!("Found {} results 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 {
eprintln!(
"Found {} results for \"{}\" in repos.",
&str.split('\n').count() / 2,
&a
);
}
print!("{}", str);
}