Skip to main content

Prompter

Trait Prompter 

Source
pub trait Prompter: Send + Sync {
    // Required methods
    fn multi_select<'a>(
        &self,
        message: &str,
        options: Vec<&'a Project>,
        defaults: Vec<usize>,
    ) -> Result<Vec<&'a Project>>;
    fn confirm(&self, message: &str) -> Result<bool>;
    fn text(&self, message: &str) -> Result<String>;
}
Expand description

Dependency injection interface for interactive prompts.

Allows commands to accept &dyn Prompter for testability. Production code uses InquirePrompter, tests use MockPrompter with predetermined responses.

Required Methods§

Source

fn multi_select<'a>( &self, message: &str, options: Vec<&'a Project>, defaults: Vec<usize>, ) -> Result<Vec<&'a Project>>

§Errors

Returns error if user cancels the selection or interaction fails.

Source

fn confirm(&self, message: &str) -> Result<bool>

§Errors

Returns error if user cancels the confirmation or interaction fails.

Source

fn text(&self, message: &str) -> Result<String>

§Errors

Returns error if user cancels the input or interaction fails.

Implementors§

Source§

impl Prompter for InquirePrompter

Available on non-tarpaulin_include only.
Source§

impl Prompter for MockPrompter