diff options
author | Jesse Luehrs <doy@tozt.net> | 2021-12-07 13:44:43 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2021-12-07 13:44:43 -0500 |
commit | 08246280e5707cc6a3153efc9648e33d2e122054 (patch) | |
tree | d9bc45daedc70357417bb1d81a48aaf436176155 /src/state.rs | |
parent | 932a16d8fe617821a40332ec32ed9d5f682ca0dc (diff) | |
download | nbsh-08246280e5707cc6a3153efc9648e33d2e122054.tar.gz nbsh-08246280e5707cc6a3153efc9648e33d2e122054.zip |
move from chrono to time
chrono seems a bit unmaintained, and has a more awkward api
Diffstat (limited to 'src/state.rs')
-rw-r--r-- | src/state.rs | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/state.rs b/src/state.rs index 155034e..a312d91 100644 --- a/src/state.rs +++ b/src/state.rs @@ -7,10 +7,11 @@ pub struct State { scene: Scene, escape: bool, hide_readline: bool, + offset: time::UtcOffset, } impl State { - pub fn new() -> Self { + pub fn new(offset: time::UtcOffset) -> Self { let readline = crate::readline::Readline::new(); let history = crate::history::History::new(); let focus = Focus::Readline; @@ -22,6 +23,7 @@ impl State { scene, escape: false, hide_readline: false, + offset, } } @@ -111,19 +113,26 @@ impl State { Scene::Readline => match self.focus { Focus::Readline => { self.history - .render(out, self.readline.lines(), None) + .render(out, self.readline.lines(), None, self.offset) .await?; - self.readline.render(out, true).await?; + self.readline.render(out, true, self.offset).await?; } Focus::History(idx) => { if self.hide_readline { - self.history.render(out, 0, Some(idx)).await?; + self.history + .render(out, 0, Some(idx), self.offset) + .await?; } else { self.history - .render(out, self.readline.lines(), Some(idx)) + .render( + out, + self.readline.lines(), + Some(idx), + self.offset, + ) .await?; let pos = out.screen().cursor_position(); - self.readline.render(out, false).await?; + self.readline.render(out, false, self.offset).await?; out.move_to(pos.0, pos.1); } } |