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§
Sourcefn multi_select<'a>(
&self,
message: &str,
options: Vec<&'a Project>,
defaults: Vec<usize>,
) -> Result<Vec<&'a Project>>
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.
Implementors§
impl Prompter for InquirePrompter
Available on non-
tarpaulin_include only.