menu-performance (#793)

This commit is contained in:
Fernando Herrera
2022-01-21 08:59:29 +00:00
committed by GitHub
parent 057bfff0cb
commit 846a048bba
5 changed files with 37 additions and 12 deletions

View File

@ -16,4 +16,4 @@ miette = { version = "3.0.0", features = ["fancy"] }
thiserror = "1.0.29"
reedline = { git = "https://github.com/nushell/reedline", branch = "main" }
log = "0.4"
is_executable = "1.0.1"
is_executable = "1.0.1"

View File

@ -15,6 +15,7 @@ pub struct NushellPrompt {
default_prompt_indicator: String,
default_vi_insert_prompt_indicator: String,
default_vi_visual_prompt_indicator: String,
default_menu_prompt_indicator: String,
default_multiline_indicator: String,
}
@ -32,6 +33,7 @@ impl NushellPrompt {
default_prompt_indicator: "".to_string(),
default_vi_insert_prompt_indicator: ": ".to_string(),
default_vi_visual_prompt_indicator: "v ".to_string(),
default_menu_prompt_indicator: "| ".to_string(),
default_multiline_indicator: "::: ".to_string(),
}
}
@ -65,16 +67,19 @@ impl NushellPrompt {
left_prompt_string: Option<String>,
right_prompt_string: Option<String>,
prompt_indicator_string: String,
prompt_vi_insert_string: String,
prompt_vi_visual_string: String,
prompt_indicator_menu: String,
prompt_multiline_indicator_string: String,
prompt_vi: (String, String),
) {
let (prompt_vi_insert_string, prompt_vi_visual_string) = prompt_vi;
self.left_prompt_string = left_prompt_string;
self.right_prompt_string = right_prompt_string;
self.default_prompt_indicator = prompt_indicator_string;
self.default_vi_insert_prompt_indicator = prompt_vi_insert_string;
self.default_vi_visual_prompt_indicator = prompt_vi_visual_string;
self.default_multiline_indicator = prompt_multiline_indicator_string;
self.default_menu_prompt_indicator = prompt_indicator_menu;
}
fn default_wrapped_custom_string(&self, str: String) -> String {
@ -111,6 +116,7 @@ impl Prompt for NushellPrompt {
PromptViMode::Visual => self.default_vi_visual_prompt_indicator.as_str().into(),
},
PromptEditMode::Custom(str) => self.default_wrapped_custom_string(str).into(),
PromptEditMode::Menu => self.default_menu_prompt_indicator.as_str().into(),
}
}