diff options
author | Blaž Hrastnik | 2022-03-29 00:57:12 +0000 |
---|---|---|
committer | Blaž Hrastnik | 2022-11-09 12:37:56 +0000 |
commit | b2e7171fedd501f2d804f95ed7eaf476d5e352ed (patch) | |
tree | e6c796b1bda72dfe073611141008776c71724922 | |
parent | d4f5cab7b53d4e10cc1907156876441744eff646 (diff) |
Drop terminal interaction in compositor.size()
-rw-r--r-- | helix-term/src/compositor.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/helix-term/src/compositor.rs b/helix-term/src/compositor.rs index 971dc52d..ad1a29ab 100644 --- a/helix-term/src/compositor.rs +++ b/helix-term/src/compositor.rs @@ -93,6 +93,7 @@ type Terminal = tui::terminal::Terminal<TestBackend>; pub struct Compositor { layers: Vec<Box<dyn Component>>, terminal: Terminal, + area: Rect, pub(crate) last_picker: Option<Box<dyn Component>>, } @@ -106,21 +107,25 @@ impl Compositor { let backend = TestBackend::new(120, 150); let terminal = Terminal::new(backend).context("build terminal")?; + let area = terminal.size().expect("couldn't get terminal size"); Ok(Self { layers: Vec::new(), + area, terminal, last_picker: None, }) } pub fn size(&self) -> Rect { - self.terminal.size().expect("couldn't get terminal size") + self.area } pub fn resize(&mut self, width: u16, height: u16) { self.terminal .resize(Rect::new(0, 0, width, height)) - .expect("Unable to resize terminal") + .expect("Unable to resize terminal"); + + self.area = self.terminal.size().expect("couldn't get terminal size"); } pub fn save_cursor(&mut self) { |