Add term_width to options struct, move getting term_width to run()

This commit is contained in:
Connor Kuehl 2018-05-08 12:01:56 -07:00 committed by David Peter
parent b4f8cd3bae
commit e5e47716b0
2 changed files with 4 additions and 4 deletions

View File

@ -67,6 +67,7 @@ pub struct Options<'a> {
pub language: Option<&'a str>,
pub colored_output: bool,
pub paging: bool,
pub term_width: usize,
}
enum OutputType {
@ -552,6 +553,7 @@ fn run() -> Result<()> {
interactive_terminal
},
},
term_width: console::Term::stdout().size().1 as usize,
};
let assets =
@ -580,7 +582,7 @@ fn run() -> Result<()> {
print!("{:width$}{}", lang.name, separator, width = longest);
// Line-wrapping for the possible file extension overflow.
let desired_width = 90 - longest;
let desired_width = options.term_width - longest;
// Number of characters on this line so far, wrap before `desired_width`
let mut num_chars = 0;

View File

@ -1,5 +1,4 @@
use ansi_term::Style;
use console::Term;
use errors::*;
use std::io::Write;
use syntect::highlighting;
@ -18,8 +17,7 @@ pub struct Printer<'a> {
impl<'a> Printer<'a> {
pub fn new(handle: &'a mut Write, options: &'a Options) -> Self {
let (_, term_width) = Term::stdout().size();
let term_width = term_width as usize;
let term_width = options.term_width;
let colors = if options.colored_output {
Colors::colored()