Skip to main content

the_code_graph_cli/
lib.rs

1pub mod adapters;
2pub mod commands;
3pub mod config;
4pub mod logging;
5pub mod output;
6pub mod project;
7
8use commands::{Cli, Commands};
9use domain::error::Result;
10use output::OutputFormat;
11
12pub fn run(cli: Cli) -> Result<()> {
13    let output_format = OutputFormat::from_flags(cli.json, cli.table);
14
15    match &cli.command {
16        Commands::Index(args) => commands::index::run_index(args, output_format),
17        Commands::Find(args) => commands::find::run_find(args, output_format),
18        Commands::Refs(args) => commands::refs::run_refs(args, output_format),
19        Commands::Risk(args) => commands::risk::run_risk(args, output_format),
20        Commands::Impact(args) => commands::impact::run_impact(args, output_format),
21        Commands::DeadCode(args) => commands::dead_code::run_dead_code(args, output_format),
22        Commands::Diff(args) => commands::diff::run_diff(args, output_format),
23        Commands::Callers(args) => commands::callers::run_callers(args, output_format),
24        Commands::Callees(args) => commands::callees::run_callees(args, output_format),
25        Commands::Search(args) => commands::search::run_search(args, output_format),
26        Commands::Flows(args) => commands::flows::run_flows(args, output_format),
27        Commands::Clones(args) => commands::clones::run_clones(args, output_format),
28        Commands::Communities(args) => commands::communities::run_communities(args, output_format),
29        Commands::Stats => commands::stats::run_stats(output_format),
30        Commands::Watch(args) => commands::watch::run_watch(args),
31        Commands::Setup(args) => commands::setup::run_setup(args),
32        Commands::Eval(args) => commands::eval::run_eval(args, output_format),
33    }
34}