summaryrefslogtreecommitdiff
path: root/src/table.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/table.rs')
-rw-r--r--src/table.rs60
1 files changed, 0 insertions, 60 deletions
diff --git a/src/table.rs b/src/table.rs
deleted file mode 100644
index cc01ffc..0000000
--- a/src/table.rs
+++ /dev/null
@@ -1,60 +0,0 @@
-use crate::Line;
-
-pub struct Table {
- pub columns: Vec<Column>,
- pub rows: Vec<Vec<Line>>,
-}
-
-pub struct Column {
- pub name: Line,
- pub alignment: Alignment,
-}
-
-pub enum Alignment {
- Left,
- Center,
- Right,
-}
-impl Alignment {
- pub fn from_str(s: &str) -> Result<Self, ()> {
- let mut start = false;
- let mut end = false;
- for (i, c) in s.chars().enumerate() {
- if c == ':' {
- if i == 0 {
- start = true;
- } else if i == s.len() - 1 {
- end = true;
- } else {
- return Err(());
- }
- } else if c != '-' {
- return Err(());
- }
- }
- Ok(match (start, end) {
- (false, false) => Self::Left,
- (true, false) => Self::Left,
- (false, true) => Self::Right,
- (true, true) => Self::Center,
- })
- }
-}
-impl std::fmt::Display for Alignment {
- fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
- f.write_str(match self {
- Self::Left => "left",
- Self::Center => "center",
- Self::Right => "right",
- })
- }
-}
-impl std::fmt::Debug for Alignment {
- fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
- f.write_str(match self {
- Self::Left => "Left",
- Self::Center => "Center",
- Self::Right => "Right",
- })
- }
-}