From 1c9ca1b002badb511ff21d58b3f20986741ab31f Mon Sep 17 00:00:00 2001 From: sigoden Date: Sun, 24 Dec 2023 16:04:18 +0800 Subject: feat: custom REPL prompt (#283) --- src/repl/prompt.rs | 36 ++---------------------------------- 1 file changed, 2 insertions(+), 34 deletions(-) (limited to 'src/repl') diff --git a/src/repl/prompt.rs b/src/repl/prompt.rs index 30600af..7b52106 100644 --- a/src/repl/prompt.rs +++ b/src/repl/prompt.rs @@ -1,14 +1,8 @@ use crate::config::GlobalConfig; -use crossterm::style::Color; use reedline::{Prompt, PromptHistorySearch, PromptHistorySearchStatus}; use std::borrow::Cow; -const PROMPT_COLOR: Color = Color::Green; -const PROMPT_MULTILINE_COLOR: nu_ansi_term::Color = nu_ansi_term::Color::LightBlue; -const INDICATOR_COLOR: Color = Color::Cyan; -const PROMPT_RIGHT_COLOR: Color = Color::AnsiValue(5); - #[derive(Clone)] pub struct ReplPrompt { config: GlobalConfig, @@ -24,13 +18,7 @@ impl ReplPrompt { impl Prompt for ReplPrompt { fn render_prompt_left(&self) -> Cow { - if let Some(session) = &self.config.read().session { - Cow::Owned(session.name().to_string()) - } else if let Some(role) = &self.config.read().role { - Cow::Owned(role.name.clone()) - } else { - Cow::Borrowed("") - } + Cow::Owned(self.config.read().render_prompt_left()) } fn render_prompt_right(&self) -> Cow { @@ -38,11 +26,7 @@ impl Prompt for ReplPrompt { } fn render_prompt_indicator(&self, _prompt_mode: reedline::PromptEditMode) -> Cow { - if self.config.read().session.is_some() { - Cow::Borrowed(") ") - } else { - Cow::Borrowed("> ") - } + Cow::Borrowed("") } fn render_prompt_multiline_indicator(&self) -> Cow { @@ -64,20 +48,4 @@ impl Prompt for ReplPrompt { prefix, history_search.term )) } - - fn get_prompt_color(&self) -> Color { - PROMPT_COLOR - } - /// Get the default multiline prompt color - fn get_prompt_multiline_color(&self) -> nu_ansi_term::Color { - PROMPT_MULTILINE_COLOR - } - /// Get the default indicator color - fn get_indicator_color(&self) -> Color { - INDICATOR_COLOR - } - /// Get the default right prompt color - fn get_prompt_right_color(&self) -> Color { - PROMPT_RIGHT_COLOR - } } -- cgit v1.2.3