Skip to main content

bctx_forge/intercept/
classifier.rs

1use 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}