clean up files, parse arguments with clap
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
use crate::{buffer::{Buffer, Mode}, custom_greys::CustomGreys};
|
||||
use ratatui::{style::{Color, Stylize}, text::{Line, Span, Text}};
|
||||
|
||||
impl Buffer {
|
||||
pub fn render_status_line(&self) -> Text<'_> {
|
||||
Text::from(
|
||||
Line::from_iter([
|
||||
self.render_mode(),
|
||||
" ".into(),
|
||||
self.render_file_name(),
|
||||
self.modified_indicator(),
|
||||
" ".into(),
|
||||
self.alert_message.clone()
|
||||
])
|
||||
)
|
||||
.bg(Color::ui_grey())
|
||||
}
|
||||
|
||||
fn render_mode(&self) -> Span<'static> {
|
||||
Span::from(self.mode.label())
|
||||
.black()
|
||||
.bg(self.mode.color())
|
||||
}
|
||||
|
||||
fn render_file_name(&self) -> Span<'_> {
|
||||
Span::from(&self.file_name)
|
||||
}
|
||||
|
||||
fn modified_indicator(&self) -> Span<'static> {
|
||||
if self.has_unsaved_changes() {
|
||||
" [+]".into()
|
||||
} else {
|
||||
"".into()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Mode {
|
||||
pub const fn label(self) -> &'static str {
|
||||
match self {
|
||||
Self::Normal => " NORMAL ",
|
||||
Self::Select => " SELECT ",
|
||||
Self::Insert => " INSERT ",
|
||||
}
|
||||
}
|
||||
|
||||
pub const fn color(self) -> Color {
|
||||
match self {
|
||||
Self::Normal => Color::Blue,
|
||||
Self::Select => Color::Yellow,
|
||||
Self::Insert => Color::Green,
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user