From df0b6b6ff091ae0325750715045dea43a0cedfd3 Mon Sep 17 00:00:00 2001 From: CrispyPin Date: Tue, 14 Mar 2023 13:15:48 +0100 Subject: [PATCH] cleanup --- src/editor.rs | 13 ++----------- src/main.rs | 10 +++++----- src/util.rs | 12 +++++++++++- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/editor.rs b/src/editor.rs index 9276e66..c7440ac 100644 --- a/src/editor.rs +++ b/src/editor.rs @@ -2,7 +2,6 @@ use crossterm::{ cursor::{self, MoveTo}, event::{self, Event, KeyCode, KeyEvent, KeyModifiers}, queue, - style::{Color, Colors, ResetColor, SetColors}, terminal::{self, Clear, ClearType}, }; use std::{ @@ -15,7 +14,7 @@ use std::{ }; use crate::clipboard::Clipboard; -use crate::util::read_line; +use crate::util::{color_highlight, color_reset, read_line}; const TAB_SIZE: usize = 4; @@ -186,7 +185,7 @@ impl Editor { for (i, char) in text.char_indices() { let char_i = line.start + i; if char_i >= selection.start && char_i <= selection.end && !in_selection { - color_selection(); + color_highlight(); in_selection = true; } else if char_i > selection.end && in_selection { color_reset(); @@ -459,11 +458,3 @@ impl Editor { } } } - -fn color_selection() { - queue!(stdout(), SetColors(Colors::new(Color::Black, Color::White))).unwrap(); -} - -fn color_reset() { - queue!(stdout(), ResetColor).unwrap(); -} diff --git a/src/main.rs b/src/main.rs index e9fe3b1..313b07e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,7 +2,6 @@ use crossterm::{ cursor::{self, MoveTo}, event::{self, Event, KeyCode, KeyModifiers}, execute, queue, - style::{Color, Colors, ResetColor, SetColors}, terminal::{ self, disable_raw_mode, enable_raw_mode, Clear, ClearType, EnterAlternateScreen, LeaveAlternateScreen, @@ -18,6 +17,7 @@ use std::{ mod clipboard; mod editor; mod util; +use crate::util::{color_highlight, color_reset}; use clipboard::Clipboard; use editor::Editor; @@ -97,11 +97,11 @@ impl Navigator { for (index, editor) in self.editors.iter().enumerate() { if index == self.selected { - queue!(stdout(), SetColors(Colors::new(Color::Black, Color::White))).unwrap(); + color_highlight(); } queue!(stdout(), MoveTo(1, index as u16 + 1)).unwrap(); print!("{}", editor.title()); - queue!(stdout(), ResetColor).unwrap(); + color_reset(); } let offset = self.editors.len() as u16 + 2; @@ -114,7 +114,7 @@ impl Navigator { for (index, path) in self.files[visible_rows].iter().enumerate() { if index + self.scroll == self.selected.wrapping_sub(self.editors.len()) { - queue!(stdout(), SetColors(Colors::new(Color::Black, Color::White))).unwrap(); + color_highlight(); } queue!(stdout(), MoveTo(1, index as u16 + 1 + offset)).unwrap(); if let Some(name) = path.file_name() { @@ -125,7 +125,7 @@ impl Navigator { if path.is_dir() { print!("/"); } - queue!(stdout(), ResetColor).unwrap(); + color_reset(); } if let Some(text) = &self.message { diff --git a/src/util.rs b/src/util.rs index ce3c82a..c5b05a3 100644 --- a/src/util.rs +++ b/src/util.rs @@ -1,7 +1,9 @@ use crossterm::{ cursor, event::{self, Event, KeyCode}, - queue, terminal, + queue, + style::{Color, Colors, ResetColor, SetColors}, + terminal, }; use std::io::{stdout, Write}; @@ -37,3 +39,11 @@ pub fn read_line(prompt: &str) -> Option { } Some(response.trim().into()) } + +pub fn color_highlight() { + queue!(stdout(), SetColors(Colors::new(Color::Black, Color::White))).unwrap(); +} + +pub fn color_reset() { + queue!(stdout(), ResetColor).unwrap(); +}