commit_wizard/infra/ui/
prompt.rs1use crate::{
2 engine::PromptTrait,
3 infra::ui::{UiResult, map_scriba_error_to_cw_error},
4};
5
6impl PromptTrait for super::Ui {
7 fn text(&self, message: &str, default: Option<&str>, help: Option<&str>) -> UiResult<String> {
8 scriba::prompt::text(&self.config, message, default, help, &self.prompt_theme)
9 .map_err(map_scriba_error_to_cw_error)
10 }
11
12 fn confirm(&self, message: &str, default: bool) -> UiResult<bool> {
13 scriba::prompt::confirm(&self.config, message, default, &self.prompt_theme)
14 .map_err(map_scriba_error_to_cw_error)
15 }
16
17 fn select(&self, request: &scriba::prompt::SelectRequest) -> UiResult<String> {
18 scriba::prompt::select(&self.config, request, &self.prompt_theme)
19 .map_err(map_scriba_error_to_cw_error)
20 }
21
22 fn multiselect(&self, request: &scriba::prompt::MultiSelectRequest) -> UiResult<Vec<String>> {
23 scriba::prompt::multiselect(&self.config, request, &self.prompt_theme)
24 .map_err(map_scriba_error_to_cw_error)
25 }
26}