From 900f61032d36eb896a0fc3baf5bd630e38c04a0d Mon Sep 17 00:00:00 2001 From: eth-p <32112321+eth-p@users.noreply.github.com> Date: Tue, 15 May 2018 14:09:51 -0700 Subject: [PATCH] Fix #117 --- src/printer.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/printer.rs b/src/printer.rs index 17cf20fa..19a97aa7 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -38,7 +38,7 @@ impl<'a> Printer<'a> { decorations.push(Box::new(LineChangesDecoration::new(&colors))); } - let panel_width: usize = + let mut panel_width: usize = decorations.len() + decorations.iter().fold(0, |a, x| a + x.width()); // The grid border decoration isn't added until after the panel_width calculation, since the @@ -48,6 +48,13 @@ impl<'a> Printer<'a> { decorations.push(Box::new(GridBorderDecoration::new(&colors))); } + // Disable the panel if the terminal is too small (i.e. can't fit 5 characters with the + // panel showing). + if config.term_width < (decorations.len() + decorations.iter().fold(0, |a, x| a + x.width())) + 5 { + decorations.clear(); + panel_width = 0; + } + // Create printer. Printer { panel_width,