solar_cli/commands/
mod.rs1use crate::args::{Args, Subcommands};
4use std::process::ExitCode;
5
6pub mod compile;
7pub(crate) mod evm_opt;
8#[cfg(feature = "lsp")]
9mod lsp;
10pub(crate) mod mir_opt;
11
12pub(crate) fn run(args: Args) -> ExitCode {
13 let Args { commands, compile } = args;
14 match commands {
15 #[cfg(feature = "lsp")]
16 Some(Subcommands::Lsp(args)) => lsp::run(args),
17 Some(Subcommands::MirOpt(args)) => mir_opt::run(args),
18 Some(Subcommands::EvmOpt(args)) => evm_opt::run(args),
19 None => compile::run(compile),
20 }
21}