aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-symfony-console/src/command_loader/command_loader_interface.rs
blob: f7d0335d54bc392029e9b9eb7f835f852a531608 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//! ref: composer/vendor/symfony/console/CommandLoader/CommandLoaderInterface.php

use crate::command::Command;

pub trait CommandLoaderInterface: std::fmt::Debug {
    /// Loads a command.
    ///
    /// @throws CommandNotFoundException
    fn get(&self, name: &str) -> std::rc::Rc<std::cell::RefCell<dyn Command>>;

    /// Checks if a command exists.
    fn has(&self, name: &str) -> bool;

    fn get_names(&self) -> Vec<String>;
}