diff options
| author | Mroik <mroik@delayed.space> | 2025-01-31 20:20:40 +0100 |
|---|---|---|
| committer | Mroik <mroik@delayed.space> | 2025-02-01 19:35:25 +0100 |
| commit | bf768ab788dd8b75d6ac57c183459c97ece81451 (patch) | |
| tree | 3d566a72e94c7f00add9ea2b6f75abbb8a261b0b /src | |
| parent | b9950e29d1586d652682e8908075d64abf786433 (diff) | |
Make conditions more readable
Diffstat (limited to 'src')
| -rw-r--r-- | src/app.rs | 23 |
1 files changed, 10 insertions, 13 deletions
@@ -198,18 +198,15 @@ impl App<'_> { async fn handle_keypress(&mut self, k: char) -> Result<(), Box<dyn Error>> { self.state.buffer.push(k); + let buffer_length = self.state.buffer.chars().count(); + let current_word = self.quote[self.state.current]; let last_byte = self.state.buffer.char_indices().last().unwrap().0; - let is_word_completed = self.state.buffer[..last_byte] == *self.quote[self.state.current]; - let is_text_completed = self.state.buffer == self.quote[self.state.current] - && self.state.current == self.quote.len() - 1; - let is_correct = self.state.buffer.chars().count() - <= self.quote[self.state.current].chars().count() + let is_word_completed = self.state.buffer[..last_byte] == *current_word; + let is_text_completed = + self.state.buffer == current_word && self.state.current == self.quote.len() - 1; + let is_correct = buffer_length <= current_word.chars().count() && self.state.buffer.chars().last().unwrap() - == self.quote[self.state.current] - .chars() - .nth(self.state.buffer.chars().count() - 1) - .unwrap(); - let miss_word = self.state.current; + == current_word.chars().nth(buffer_length - 1).unwrap(); if is_word_completed && k == ' ' { self.state.buffer.clear(); @@ -219,9 +216,9 @@ impl App<'_> { self.completed = true; } else if !is_correct { self.mistake_count += 1; - if self.state.buffer.chars().count() <= self.quote[miss_word].chars().count() { + if buffer_length <= current_word.chars().count() { self.mistakes - .insert((miss_word, self.state.buffer.chars().count() - 1)); + .insert((self.state.current, buffer_length - 1)); } } @@ -346,7 +343,7 @@ impl App<'_> { }); self.stdout.queue(Print(remaining))?; } - (_, _) => (), + _ => (), } self.stdout.queue(Print(' '))?; } |
