From 56730cb7b8559c560745b80b97c4407893d80cde Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Wed, 6 Jan 2016 19:37:52 +0100 Subject: [PATCH] Add support for printing table without borders --- src/module/bm/mod.rs | 2 +- src/module/notes/mod.rs | 2 +- src/ui/file.rs | 22 ++++++++++++++++++++-- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/module/bm/mod.rs b/src/module/bm/mod.rs index 6f25bc8d..ffe45ee9 100644 --- a/src/module/bm/mod.rs +++ b/src/module/bm/mod.rs @@ -130,7 +130,7 @@ impl<'a> BM<'a> { .load_for_module(self, &self.parser) .into_iter() .filter(|file| filter.filter_file(file)); - let printer = TablePrinter::new(self.rt.is_verbose(), self.rt.is_debugging()); + let printer = TablePrinter::new(self.rt.is_verbose(), self.rt.is_debugging(), true); printer.print_files_custom(files, &|file| { diff --git a/src/module/notes/mod.rs b/src/module/notes/mod.rs index 0b445e40..5647e85d 100644 --- a/src/module/notes/mod.rs +++ b/src/module/notes/mod.rs @@ -274,7 +274,7 @@ impl<'a> Notes<'a> { hash_filter.or(Box::new(head_filter)).and(Box::new(text_filter)).and(Box::new(tags_filter)) }; - let printer = TablePrinter::new(self.rt.is_verbose(), self.rt.is_debugging()); + let printer = TablePrinter::new(self.rt.is_verbose(), self.rt.is_debugging(), true); printer.print_files_custom( self.rt.store() diff --git a/src/ui/file.rs b/src/ui/file.rs index d9151e6c..ab9e7943 100644 --- a/src/ui/file.rs +++ b/src/ui/file.rs @@ -130,14 +130,16 @@ impl FilePrinter for SimplePrinter { * Table printer to print file information in a nice ASCII-table */ pub struct TablePrinter { - sp: SimplePrinter, + sp: SimplePrinter, + pretty: bool, } impl TablePrinter { - pub fn new(verbose: bool, debug: bool) -> TablePrinter { + pub fn new(verbose: bool, debug: bool, pretty: bool) -> TablePrinter { TablePrinter { sp: SimplePrinter::new(verbose, debug), + pretty: pretty, } } @@ -151,12 +153,20 @@ impl FilePrinter for TablePrinter { fn print_files>>>(&self, files: I) { use prettytable::Table; + use prettytable::format::TableFormat; use prettytable::row::Row; use prettytable::cell::Cell; let titles = row!["File#", "Owner", "ID"]; let mut tab = Table::new(); + + if !self.pretty { + let plain_format = TableFormat::new(' ', None, None); + debug!("Setting plain format for table"); + tab.set_format(plain_format); + } + tab.set_titles(titles); let mut i = 0; @@ -185,12 +195,20 @@ impl FilePrinter for TablePrinter { F: Fn(Rc>) -> Vec { use prettytable::Table; + use prettytable::format::TableFormat; use prettytable::row::Row; use prettytable::cell::Cell; let titles = row!["#", "Module", "ID", "..."]; let mut tab = Table::new(); + + if !self.pretty { + let plain_format = TableFormat::new(' ', None, None); + debug!("Setting plain format for table"); + tab.set_format(plain_format); + } + tab.set_titles(titles); let mut i = 0;