Skip to content

Commit

Permalink
Drop terminal interaction in compositor.size()
Browse files Browse the repository at this point in the history
  • Loading branch information
archseer committed May 1, 2022
1 parent c3f9d36 commit 14f9878
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions helix-term/src/compositor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ type Terminal = tui::terminal::Terminal<CrosstermBackend<std::io::Stdout>>;
pub struct Compositor {
layers: Vec<Box<dyn Component>>,
terminal: Terminal,
area: Rect,

pub(crate) last_picker: Option<Box<dyn Component>>,
}
Expand All @@ -83,21 +84,25 @@ impl Compositor {
pub fn new() -> Result<Self, Error> {
let backend = CrosstermBackend::new(stdout());
let terminal = Terminal::new(backend)?;
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) {
Expand Down

0 comments on commit 14f9878

Please sign in to comment.