syncable_cli/handlers/
utils.rs

1use crate::analyzer::ProjectCategory;
2
3pub fn handle_support(
4    languages: bool,
5    frameworks: bool,
6    _detailed: bool,
7) -> crate::Result<()> {
8    if languages || (!languages && !frameworks) {
9        println!("🌐 Supported Languages:");
10        println!("ā”œā”€ā”€ Rust");
11        println!("ā”œā”€ā”€ JavaScript/TypeScript");
12        println!("ā”œā”€ā”€ Python");
13        println!("ā”œā”€ā”€ Go");
14        println!("ā”œā”€ā”€ Java");
15        println!("└── (More coming soon...)");
16    }
17    
18    if frameworks || (!languages && !frameworks) {
19        println!("\nšŸš€ Supported Frameworks:");
20        println!("ā”œā”€ā”€ Web: Express.js, Next.js, React, Vue.js, Actix Web");
21        println!("ā”œā”€ā”€ Database: PostgreSQL, MySQL, MongoDB, Redis");
22        println!("ā”œā”€ā”€ Build Tools: npm, yarn, cargo, maven, gradle");
23        println!("└── (More coming soon...)");
24    }
25    
26    Ok(())
27}
28
29/// Format project category for display
30pub fn format_project_category(category: &ProjectCategory) -> &'static str {
31    match category {
32        ProjectCategory::Frontend => "Frontend",
33        ProjectCategory::Backend => "Backend",
34        ProjectCategory::Api => "API",
35        ProjectCategory::Service => "Service",
36        ProjectCategory::Library => "Library",
37        ProjectCategory::Tool => "Tool",
38        ProjectCategory::Documentation => "Documentation",
39        ProjectCategory::Infrastructure => "Infrastructure",
40        ProjectCategory::Unknown => "Unknown",
41    }
42}