From 3a567e125000f658fd0715522598e3480c184c9e Mon Sep 17 00:00:00 2001 From: Mroik Date: Tue, 28 Jan 2025 02:53:42 +0100 Subject: Remove unnecessary length computing --- src/app.rs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/app.rs b/src/app.rs index b447eb7..2cc51c1 100644 --- a/src/app.rs +++ b/src/app.rs @@ -147,6 +147,8 @@ impl App { return Ok(()); } + let buf_size = self.state.buffer.chars().count(); + let cur_word_size = self.quote[self.state.current].chars().count(); let (col, _) = terminal::size()?; self.stdout .queue(Clear(ClearType::All)) @@ -162,13 +164,13 @@ impl App { self.stdout.queue(Print(" "))?; } - let mut cur_loc = done.chars().count() + self.state.buffer.chars().count(); + let mut cur_loc = done.chars().count() + buf_size; if self.state.current > 0 { cur_loc += 1; } for i in 0..self.state.buffer.len() { - if i >= self.quote[self.state.current].chars().count() { + if i >= cur_word_size { break; } @@ -181,15 +183,12 @@ impl App { self.stdout.queue(Print(&c))?; } - match ( - self.state.buffer.chars().count(), - self.quote[self.state.current].chars().count(), - ) { + match (buf_size, cur_word_size) { (a, b) if a < b => { self.stdout.queue(SetForegroundColor(Color::Reset)).unwrap(); let v = &self.quote[self.state.current] .chars() - .skip(self.state.buffer.chars().count()) + .skip(buf_size) .collect::(); self.stdout.queue(Print(&v))?; } @@ -201,7 +200,7 @@ impl App { .state .buffer .chars() - .skip(self.quote[self.state.current].chars().count()) + .skip(cur_word_size) .collect::(); self.stdout.queue(Print(&v))?; } -- cgit v1.3