jag

typing_rust

public

A small typing test program in Rust

Star0
Watch0

Commit d2ab8fb1c40b

tarball

Jaglekon <58274093+Jaglekon@users.noreply.github.com>2026-09-29 17:06 UTC

3 files changed+11-18
small fixes
Modified file: src/main.rs+1 additions−1 deletions
@@ -178,7 +178,7 @@ impl TypingTest {
178178
179179 fn handle_char(&mut self, c: char) {
180180
181- if self.typing.real_pos() >= self.typing.get_len() {
181+ if self.typing.real_pos() >= self.typing.len() {
182182 return;
183183 }
184184
Modified file: src/text_combine.rs+5 additions−9 deletions
@@ -11,7 +11,6 @@ pub enum Mode {
1111 pub struct TextCombine {
1212 mode: Mode,
1313 text: String,
14- len: usize,
1514 pos: usize,
1615 err_n: usize,
1716 err_s: String,
@@ -61,12 +60,9 @@ impl TextCombine {
6160 },
6261 };
6362
64- let len = text.chars().count();
65-
6663 Self {
6764 mode,
6865 text,
69- len,
7066 pos: 0,
7167 err_n: 0,
7268 err_s: String::new(),
@@ -83,13 +79,13 @@ impl TextCombine {
8379 }
8480
8581 pub fn pos_increment(&mut self) {
86- if self.pos < self.len {
82+ if self.real_pos() < self.len() - 1 {
8783 self.pos += 1;
8884 }
8985 }
9086
9187 pub fn err_n_increment(&mut self) {
92- if self.real_pos() < self.len {
88+ if self.real_pos() < self.len() - 1 {
9389 self.err_n += 1;
9490 }
9591 }
@@ -106,8 +102,8 @@ impl TextCombine {
106102 self.err_s.push(c);
107103 }
108104
109- pub fn get_len(&self) -> usize {
110- self.len
105+ pub fn len(&self) -> usize {
106+ self.text.chars().count()
111107 }
112108
113109 pub fn curr_char(&self) -> Option<char> {
@@ -126,7 +122,7 @@ impl TextCombine {
126122 }
127123
128124 pub fn back(&mut self) {
129- if self.err_s.len() > 0 {
125+ if !self.err_s.is_empty() {
130126 self.err_s.pop() ;
131127 } else if self.err_n > 0 {
132128 self.err_n -= 1;
Modified file: src/timer.rs+5 additions−8 deletions
@@ -26,13 +26,10 @@ impl Timer {
2626 }
2727
2828 pub fn elapsed (&self) -> Duration {
29- match self.start {
30- Some(time) => if time.elapsed() < self.duration {
31- time.elapsed()
32- } else {
33- self.duration
34- },
35- None => Duration::ZERO,
36- }
29+ self.start
30+ .map(
31+ |time| time.elapsed().min(self.duration)
32+ )
33+ .unwrap_or(Duration::ZERO)
3734 }
3835 }