Skip to content

Commit

Permalink
refactor: rename
Browse files Browse the repository at this point in the history
  • Loading branch information
wfxr committed Jan 3, 2022
1 parent cb795c9 commit d6b336a
Show file tree
Hide file tree
Showing 4 changed files with 88 additions and 100 deletions.
18 changes: 9 additions & 9 deletions src/style.rs
Original file line number Diff line number Diff line change
@@ -1,40 +1,40 @@
use crate::{
cli::Style,
table::{RowSep, TableFormat, TableFormatBuilder},
table::{RowSep, TableStyle, TableStyleBuilder},
};

pub fn table_format(style: Style, padding: usize, indent: usize) -> TableFormat {
pub fn table_format(style: Style, padding: usize, indent: usize) -> TableStyle {
let builder = match style {
Style::None => TableFormatBuilder::new().clear_seps(),
Style::Ascii => TableFormatBuilder::new().col_sep('|').row_seps(
Style::None => TableStyleBuilder::new().clear_seps(),
Style::Ascii => TableStyleBuilder::new().col_sep('|').row_seps(
RowSep::new('-', '+', '+', '+'),
RowSep::new('-', '+', '+', '+'),
None,
RowSep::new('-', '+', '+', '+'),
),
Style::Sharp => TableFormatBuilder::new().col_sep('│').row_seps(
Style::Sharp => TableStyleBuilder::new().col_sep('│').row_seps(
RowSep::new('─', '┌', '┬', '┐'),
RowSep::new('─', '├', '┼', '┤'),
None,
RowSep::new('─', '└', '┴', '┘'),
),
Style::Rounded => TableFormatBuilder::new().col_sep('│').row_seps(
Style::Rounded => TableStyleBuilder::new().col_sep('│').row_seps(
RowSep::new('─', '╭', '┬', '╮'),
RowSep::new('─', '├', '┼', '┤'),
None,
RowSep::new('─', '╰', '┴', '╯'),
),
Style::Reinforced => TableFormatBuilder::new().col_sep('│').row_seps(
Style::Reinforced => TableStyleBuilder::new().col_sep('│').row_seps(
RowSep::new('─', '┏', '┬', '┓'),
RowSep::new('─', '├', '┼', '┤'),
None,
RowSep::new('─', '┗', '┴', '┛'),
),
Style::Markdown =>
TableFormatBuilder::new()
TableStyleBuilder::new()
.col_sep('|')
.row_seps(None, RowSep::new('-', '|', '|', '|'), None, None),
Style::Grid => TableFormatBuilder::new().col_sep('│').row_seps(
Style::Grid => TableStyleBuilder::new().col_sep('│').row_seps(
RowSep::new('─', '┌', '┬', '┐'),
RowSep::new('─', '├', '┼', '┤'),
RowSep::new('─', '├', '┼', '┤'),
Expand Down
18 changes: 8 additions & 10 deletions src/table/mod.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
mod cell;
mod format;
mod row;
mod style;

use anyhow::Result;
use cell::Cell;
Expand All @@ -9,7 +9,7 @@ use row::Row;
use std::io::{self, Write};
use unicode_width::UnicodeWidthStr;

pub use format::{RowPos, RowSep, TableFormat, TableFormatBuilder};
pub use style::{RowPos, RowSep, TableStyle, TableStyleBuilder};

pub struct CsvTableWriter {
pub(crate) header: Option<StringRecord>,
Expand All @@ -25,7 +25,7 @@ impl CsvTableWriter {
Ok(Self { header, widths, records })
}

pub fn writeln<W: Write>(self, wtr: &mut W, fmt: &TableFormat) -> Result<()> {
pub fn writeln<W: Write>(self, wtr: &mut W, fmt: &TableStyle) -> Result<()> {
let widths = &self.widths;
fmt.write_row_sep(wtr, widths, RowPos::Top)?;

Expand Down Expand Up @@ -84,8 +84,6 @@ fn sniff_widths<R: io::Read>(

#[cfg(test)]
mod test {
use crate::table::format::TableFormatBuilder;

use super::*;
use csv::ReaderBuilder;

Expand All @@ -96,7 +94,7 @@ mod test {
let wtr = CsvTableWriter::new(rdr, 3)?;

let mut buf = Vec::new();
wtr.writeln(&mut buf, &TableFormat::default())?;
wtr.writeln(&mut buf, &TableStyle::default())?;

assert_eq!(
"
Expand All @@ -119,7 +117,7 @@ mod test {
let text = "a,b,c\n1,2,3\n4,5,6";
let rdr = ReaderBuilder::new().has_headers(true).from_reader(text.as_bytes());
let wtr = CsvTableWriter::new(rdr, 3)?;
let fmt = TableFormatBuilder::default().padding(0).build();
let fmt = TableStyleBuilder::default().padding(0).build();

let mut buf = Vec::new();
wtr.writeln(&mut buf, &fmt)?;
Expand All @@ -145,7 +143,7 @@ mod test {
let text = "a,b,c\n1,2,3\n4,5,6";
let rdr = ReaderBuilder::new().has_headers(true).from_reader(text.as_bytes());
let wtr = CsvTableWriter::new(rdr, 3)?;
let fmt = TableFormatBuilder::default().indent(4).build();
let fmt = TableStyleBuilder::default().indent(4).build();

let mut buf = Vec::new();
wtr.writeln(&mut buf, &fmt)?;
Expand All @@ -171,7 +169,7 @@ mod test {
let text = "a,ab,abc";
let rdr = ReaderBuilder::new().has_headers(true).from_reader(text.as_bytes());
let wtr = CsvTableWriter::new(rdr, 3)?;
let fmt = TableFormat::default();
let fmt = TableStyle::default();

let mut buf = Vec::new();
wtr.writeln(&mut buf, &fmt)?;
Expand All @@ -193,7 +191,7 @@ mod test {
let text = "1,123,35\n383,2, 17";
let rdr = ReaderBuilder::new().has_headers(false).from_reader(text.as_bytes());
let wtr = CsvTableWriter::new(rdr, 3)?;
let fmt = TableFormatBuilder::new()
let fmt = TableStyleBuilder::new()
.col_sep('│')
.row_seps(
RowSep::new('─', '╭', '┬', '╮'),
Expand Down
8 changes: 4 additions & 4 deletions src/table/row.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use anyhow::Result;
use std::io::Write;

use crate::table::{format::ColPos, Cell, TableFormat};
use crate::table::{style::ColPos, Cell, TableStyle};

/// Represent a table row made of cells
#[derive(Clone, Debug)]
Expand All @@ -16,7 +16,7 @@ impl<'a> FromIterator<&'a str> for Row<'a> {
}

impl<'a> Row<'a> {
pub fn writeln<T: Write>(&self, wtr: &mut T, fmt: &TableFormat, widths: &[usize]) -> Result<()> {
pub fn writeln<T: Write>(&self, wtr: &mut T, fmt: &TableStyle, widths: &[usize]) -> Result<()> {
let sep = fmt.get_col_sep(ColPos::Mid).map(|c| c.to_string()).unwrap_or_default();

write!(wtr, "{:indent$}", "", indent = fmt.indent)?;
Expand All @@ -42,7 +42,7 @@ mod test {
fn write_ascii_row() -> Result<()> {
let row = Row::from_iter(["a", "b"]);
let buf = &mut Vec::new();
let fmt = TableFormat::default();
let fmt = TableStyle::default();
let widths = [3, 4];

row.writeln(buf, &fmt, &widths)?;
Expand All @@ -54,7 +54,7 @@ mod test {
fn write_cjk_row() -> Result<()> {
let row = Row::from_iter(["李磊(Jack)", "四川省成都市", "💍"]);
let buf = &mut Vec::new();
let fmt = TableFormat::default();
let fmt = TableStyle::default();
let widths = [10, 8, 2];

row.writeln(buf, &fmt, &widths)?;
Expand Down
Loading

0 comments on commit d6b336a

Please sign in to comment.