use peasytext::Client;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Client::new();
println!("=== Text Tools ===");
let tools = client.list_tools(&Default::default()).await?;
println!(" Total: {} tools", tools.count);
for tool in &tools.results {
println!(" {} — {}", tool.name, tool.display_desc());
}
println!("\n=== Text Counter Tool ===");
let tool = client.get_tool("text-counter").await?;
println!(" {}: {}", tool.name, tool.display_desc());
println!("\n=== Categories ===");
let categories = client.list_categories(&Default::default()).await?;
for cat in &categories.results {
println!(" {} ({} tools)", cat.name, cat.tool_count);
}
println!("\n=== Formats ===");
let formats = client.list_formats(&Default::default()).await?;
for fmt in &formats.results {
println!(" .{} — {} ({})", fmt.extension, fmt.name, fmt.mime_type);
}
println!("\n=== Search: 'slug' ===");
let results = client.search("slug", Some(5)).await?;
println!(" Tools: {}", results.results.tools.len());
println!(" Formats: {}", results.results.formats.len());
println!(" Glossary: {}", results.results.glossary.len());
println!("\n=== Glossary ===");
let glossary = client.list_glossary(&Default::default()).await?;
for term in glossary.results.iter().take(5) {
println!(" {}: {}", term.term, term.definition);
}
println!("\n=== Peasy Tools Family ===");
let sites = client.list_sites().await?;
for site in &sites.results {
println!(" {} — {}", site.name, site.domain);
}
Ok(())
}