diff options
| author | Mroik <mroik@delayed.space> | 2025-01-28 00:27:25 +0100 |
|---|---|---|
| committer | Mroik <mroik@delayed.space> | 2025-02-01 19:33:03 +0100 |
| commit | c46167db15287c13c6f7c2bd46a7bb5a6e71729e (patch) | |
| tree | 7dc8684492a231c52fd09c2f5dcac7c508ba639f | |
| parent | 6a4f145692da88fe1c170d6ef9bed1caa9897994 (diff) | |
Add caret
| -rw-r--r-- | src/app.rs | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -140,10 +140,15 @@ impl App { let done = self.quote[..self.state.current].join(" "); self.stdout.queue(Print(&done))?; - if !done.trim().is_empty() { + if done.chars().count() > 0 { self.stdout.queue(Print(" "))?; } + let mut cur_loc = done.chars().count() + self.state.buffer.len(); + if cur_loc > 0 { + cur_loc += 1; + } + for i in 0..self.state.buffer.len() { if i >= self.quote[self.state.current].len() { break; @@ -175,6 +180,9 @@ impl App { self.stdout.queue(SetForegroundColor(Color::Reset)).unwrap(); let to_do = self.quote[self.state.current + 1..].join(" "); self.stdout.queue(Print(&to_do))?.queue(Print("\n"))?; + + self.stdout.queue(MoveTo(cur_loc as u16, 0))?; + self.stdout.flush()?; self.should_render = false; return Ok(()); |
