the_code_graph_cli/
lib.rs1pub 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}