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

pull/86/head
Connor Kuehl 6 years ago committed by David Peter
parent b4f8cd3bae
commit e5e47716b0

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

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

Loading…
Cancel
Save