currently builds and searches the AUR

This commit is contained in:
Tristan Smith 2024-09-12 00:43:44 -04:00
commit decf1f14e6
4 changed files with 61 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
/target
Cargo.lock

8
Cargo.toml Normal file
View file

@ -0,0 +1,8 @@
[package]
name = "raur"
version = "0.1.0"
edition = "2021"
[dependencies]
aur-rs = "0.1.1"
tokio = { version = "1", features = ["full"] }

20
src/main.rs Normal file
View file

@ -0,0 +1,20 @@
use std::env;
mod search;
#[tokio::main]
async fn main() {
// Collect command-line arguments
let args: Vec<String> = env::args().collect();
// Check if the correct number of arguments is passed
if args.len() != 2 {
eprintln!("Usage: raur <package name>");
return;
}
let package_name = &args[1];
// Call the async search function and await it
search::search(package_name).await;
}

31
src/search.rs Normal file
View file

@ -0,0 +1,31 @@
use aur_rs::{Request, ReturnData};
pub async fn search(package_name: &str) {
println!("Searching for package: {}\n", package_name);
search_package_by_name(package_name).await;
}
pub async fn search_package_by_name(package_name: &str) {
let request = Request::default();
let response: ReturnData = request
.search_package_by_name(package_name)
.await
.expect("Failed to search package");
if response.results.is_empty() {
eprintln!("No results found");
return;
}
for package in &response.results {
println!("Package name: {}", package.name);
// Print the package description if it exists
if let Some(description) = &package.description {
println!("Description: {}", description);
}
println!();
}
}