diff options
Diffstat (limited to 'src/readline.rs')
-rw-r--r-- | src/readline.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/readline.rs b/src/readline.rs index 11ea2dd..ceaff0e 100644 --- a/src/readline.rs +++ b/src/readline.rs @@ -65,10 +65,21 @@ impl Readline { if focus { out.set_fgcolor(textmode::color::BLACK); out.set_bgcolor(textmode::color::CYAN); + } else { + out.set_bgcolor(textmode::Color::Rgb(32, 32, 32)); } out.write_str(&self.prompt); out.reset_attributes(); + out.set_bgcolor(textmode::Color::Rgb(32, 32, 32)); out.write_str(&self.input_line); + out.write_str( + &" ".repeat( + (self.size.1 - self.prompt_width() - self.input_line_width()) + .try_into() + .unwrap(), + ), + ); + out.reset_attributes(); out.move_to(self.size.0 - 1, self.prompt_width() + self.pos_width()); Ok(()) } @@ -139,6 +150,10 @@ impl Readline { self.prompt.width().try_into().unwrap() } + fn input_line_width(&self) -> u16 { + self.input_line.width().try_into().unwrap() + } + fn pos_width(&self) -> u16 { self.input_line .chars() |