bctx_forge/intercept/
classifier.rs1use crate::signal::SignalKind;
2
3#[derive(Debug, Clone)]
4pub struct ClassifiedCommand {
5 pub program: String,
6 pub args: Vec<String>,
7 pub kind: SignalKind,
8 pub subcommand: Option<String>,
9 pub is_pipeline: bool,
10}
11
12impl ClassifiedCommand {
13 pub fn classify(program: impl Into<String>, args: Vec<String>) -> Self {
14 let program = program.into();
15 let kind = SignalKind::from_program(&program, &args);
16 let subcommand = args.first().cloned();
17 Self {
18 program,
19 args,
20 kind,
21 subcommand,
22 is_pipeline: false,
23 }
24 }
25}