diff --git a/.travis.yml b/.travis.yml index 0b144ca9eb..6de9e5d8a4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,15 +1,15 @@ language: rust rust: -- stable -- beta -- nightly -matrix: - allow_failures: - - rust: nightly + - stable + - beta + - nightly +# matrix: +# allow_failures: +# - rust: nightly env: global: - - secure: M+X/Y/0FmtXj18pp2WI4KRyHx+C9B8ITxyfoIOY7sXu+zI06hmmWbawQSpKRzQY3KhTxXAXw7DMtsLlyHioz3w4iIoFykhai6DrUQWDocagPwvVA6hWf+mW7j3DiFlfx/0VT9JMi6Y0RyUcvo1e2snFKI9zQP20EOwK8IIyWUcwFks2Fpu1Hu3Bu8bw9lB3D6ZdzxbAuctcy+OuMR7OD6QFyHi8jQ2Q3yUruh3yLqy30bJSD3Nerw+PuwKiDX2tnObNUVRT0W0IQx6Yvk5sA7m+IZf2VM2ayKw6ChLdDC9yOa/s0mNzHBT7rE1HGfkYIsgc9kos2zZP5fMawDELpEDccPq19DYsno2gb7zFj7fyTFJbkqlROoj6cgL4xkBQAY/yRpnMzHhwLV1tu2lOJCdhyujCImb+mAZV14U7fkCAzYUrtxfdNImp88QQgynRC74vOAJc6qHnRI0ut6DoKcNqK+nn07spPY0wrAD4F+o7Nc32JcfJJ/YW7QvJBsWi6IdSduKvJyWTFtFLnLUzjsFT+C0U2P8dykOf1C4gxdUdUnxwSMDPC4+8VZlcqjPowjQ2xqS04TRKx45SEUDuX2xM0E2r8pIZpxNUm/NP1bwgumO0zMJCLEsIYe561BLODyOjmmsW2YVg2WOdpJWGh+Mbzr6aDu3B4FO4PbjZdEoI= - - secure: uEDWqegkGvkCo9qE5h3j/VvD007MKjwfsX9+CiWKK+nd+FrfqUak/LpSJiLYAdXePMqh/+jYynUWKsZFiLksmSkJK0U2Xkms9C2TynbuojlyTd8P1aUM9RNtOmS6FYtrmpQLxzUPNL8mIMcoTzIiZgABp8XDmW83NXKXSuKbXWpqO2oxHuVFHFNTnHW5fDs1VJJOrv+1oUICijAoy9X1iGZUTt0r+Vqb+uUt2XXlGzBhTBkGYIONDzI/4D9N7P4KJxrpiiKNpH8/EiWSGBmi1YCydW5KRLswdQYGWyvyKwRE9XBbLRd8CnEVPpB2ouL3CB2jGufzC1ZDKw7ehtyTCAZBFdIQMJHucJn0h0/qSFKBXO6Qvn7A5LfyxBpR0t+VG1cvtzE+v3BcIs6MkakZdVfOHoPczrOw6kG1Gbsjqd1TrYeT2evhzbiGIgyLf8UP5ReROlOwkpvyZSxqumuQtxNWIidzPRD9WQi8lD6F0p/C2hwqgmcDTBXV0+b6gmwOdn6rQVItTJj1j9V0omTh4rHsLHuycpXpBwLbABUaYvXxjHL+ZvQiydka1RqDsNDOZ5sOBEduPVtB3q1FN4WRBaAhXLOd4XwGys6K36JZgcxAEx4CVP5ECgU75cFkRC/qJhaOHI04qFdpGrfmv+ctmZQOBQyl+U0kDrV02kFftek= + - secure: M+X/Y/0FmtXj18pp2WI4KRyHx+C9B8ITxyfoIOY7sXu+zI06hmmWbawQSpKRzQY3KhTxXAXw7DMtsLlyHioz3w4iIoFykhai6DrUQWDocagPwvVA6hWf+mW7j3DiFlfx/0VT9JMi6Y0RyUcvo1e2snFKI9zQP20EOwK8IIyWUcwFks2Fpu1Hu3Bu8bw9lB3D6ZdzxbAuctcy+OuMR7OD6QFyHi8jQ2Q3yUruh3yLqy30bJSD3Nerw+PuwKiDX2tnObNUVRT0W0IQx6Yvk5sA7m+IZf2VM2ayKw6ChLdDC9yOa/s0mNzHBT7rE1HGfkYIsgc9kos2zZP5fMawDELpEDccPq19DYsno2gb7zFj7fyTFJbkqlROoj6cgL4xkBQAY/yRpnMzHhwLV1tu2lOJCdhyujCImb+mAZV14U7fkCAzYUrtxfdNImp88QQgynRC74vOAJc6qHnRI0ut6DoKcNqK+nn07spPY0wrAD4F+o7Nc32JcfJJ/YW7QvJBsWi6IdSduKvJyWTFtFLnLUzjsFT+C0U2P8dykOf1C4gxdUdUnxwSMDPC4+8VZlcqjPowjQ2xqS04TRKx45SEUDuX2xM0E2r8pIZpxNUm/NP1bwgumO0zMJCLEsIYe561BLODyOjmmsW2YVg2WOdpJWGh+Mbzr6aDu3B4FO4PbjZdEoI= + - secure: uEDWqegkGvkCo9qE5h3j/VvD007MKjwfsX9+CiWKK+nd+FrfqUak/LpSJiLYAdXePMqh/+jYynUWKsZFiLksmSkJK0U2Xkms9C2TynbuojlyTd8P1aUM9RNtOmS6FYtrmpQLxzUPNL8mIMcoTzIiZgABp8XDmW83NXKXSuKbXWpqO2oxHuVFHFNTnHW5fDs1VJJOrv+1oUICijAoy9X1iGZUTt0r+Vqb+uUt2XXlGzBhTBkGYIONDzI/4D9N7P4KJxrpiiKNpH8/EiWSGBmi1YCydW5KRLswdQYGWyvyKwRE9XBbLRd8CnEVPpB2ouL3CB2jGufzC1ZDKw7ehtyTCAZBFdIQMJHucJn0h0/qSFKBXO6Qvn7A5LfyxBpR0t+VG1cvtzE+v3BcIs6MkakZdVfOHoPczrOw6kG1Gbsjqd1TrYeT2evhzbiGIgyLf8UP5ReROlOwkpvyZSxqumuQtxNWIidzPRD9WQi8lD6F0p/C2hwqgmcDTBXV0+b6gmwOdn6rQVItTJj1j9V0omTh4rHsLHuycpXpBwLbABUaYvXxjHL+ZvQiydka1RqDsNDOZ5sOBEduPVtB3q1FN4WRBaAhXLOd4XwGys6K36JZgcxAEx4CVP5ECgU75cFkRC/qJhaOHI04qFdpGrfmv+ctmZQOBQyl+U0kDrV02kFftek= after_success: | sudo apt-get install libcurl4-openssl-dev libelf-dev libdw-dev && wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz && diff --git a/README.md b/README.md index a8f74203d4..9cb9030216 100644 --- a/README.md +++ b/README.md @@ -144,27 +144,26 @@ Cell::new("foo2").style_spec("FrByc") Where **FrBybc** means **F**oreground: **r**ed, **B**ackground: **y**ellow, **b**old, **c**enter With macros it's even simpler : -> **Currently style in macros don't work on nightly rust because of _Type Ascription_. See issue [#11](https://github.com/phsym/prettytable-rs/issues/11) for details** In rows, for each cells : ```rust -row![FrByb:"ABC", FrByb:"DEFG", "HIJKLMN"]; +row![FrByb->"ABC", FrByb->"DEFG", "HIJKLMN"]; ``` Or for the whole row : ```rust -row![FY -> "styled", "bar", "foo"]; +row![FY => "styled", "bar", "foo"]; ``` In tables, for each cells : ```rust -table!([FrBybl:"A", FrBybc:"B", FrBybr:"C"], [123, 234, 345, 456]); +table!([FrBybl->"A", FrBybc->"B", FrBybr->"C"], [123, 234, 345, 456]); ``` Or for each rows : ```rust -table!([Frb -> "A", "B", "C"], [Frb -> 1, 2, 3, 4], [1, 2, 3]); +table!([Frb => "A", "B", "C"], [Frb => 1, 2, 3, 4], [1, 2, 3]); ``` Or a mix : ```rust -table!([Frb -> "A", "B", "C"], [Frb:1, Fgi:2, 3, 4], [1, 2, 3]); +table!([Frb => "A", "B", "C"], [Frb->1, Fgi->2, 3, 4], [1, 2, 3]); ``` ### List of style specifiers : diff --git a/examples/style.rs b/examples/style.rs index 94e75cead9..14cf6e7e41 100644 --- a/examples/style.rs +++ b/examples/style.rs @@ -11,9 +11,9 @@ fn main() { let _ = table!(); let mut table = Table::new(); // Add style to a cell - table.add_row(row![FrByb:"ABC", "DEFG", "HIJKLMN"]); + table.add_row(row![FrByb->"ABC", "DEFG", "HIJKLMN"]); // Add style to a full row - table.add_row(row![FY -> "styled", "bar", "foo"]); + table.add_row(row![FY => "styled", "bar", "foo"]); table.add_row(Row::new(vec![ Cell::new("foobar2"), // Create a cell with a red foreground color @@ -21,18 +21,18 @@ fn main() { // Create a cell with red foreground color, yellow background color, with bold characters Cell::new("foo2").style_spec("FrByb"), // Using the cell! macro - cell!(Fr:"red")]) + cell!(Fr->"red")]) ); table.printstd(); // Print a table with some styles on it : // FrBybl means : Foregound red, Background yellow, bold, left align - ptable!([FrBybl:"A", "B", FrBybr:"C"], [123, 234, 345, 456], [Fg -> 1, 2, 3]); + ptable!([FrBybl->"A", "B", FrBybr->"C"], [123, 234, 345, 456], [Fg => 1, 2, 3]); // You can also apply style to full rows : - let mut table = table!([Frb -> "A", "B", "C"], [1, 2, 3, 4], ["A\nBCCZZZ\nDDD", 2, table]); + let mut table = table!([Frb => "A", "B", "C"], [1, 2, 3, 4], ["A\nBCCZZZ\nDDD", 2, table]); // Set a title line, with all text centered in the cell - table.set_titles(row![c -> "Title 1", "Title 2"]); + table.set_titles(row![c => "Title 1", "Title 2"]); table.printstd(); } diff --git a/src/cell.rs b/src/cell.rs index 4c028b144c..2263ca0c7d 100644 --- a/src/cell.rs +++ b/src/cell.rs @@ -251,7 +251,7 @@ impl Default for Cell { /// // Do something with the cell /// # drop(cell); /// // Create a cell with style (Red foreground, Bold, aligned to left); -/// let styled = cell!(Frbl:"value"); +/// let styled = cell!(Frbl->"value"); /// # drop(styled); /// # } /// ``` @@ -259,7 +259,7 @@ impl Default for Cell { macro_rules! cell { () => ($crate::cell::Cell::default()); ($value:expr) => ($crate::cell::Cell::new(&$value.to_string())); - ($style:ident : $value:expr) => (cell!($value).style_spec(stringify!($style))); + ($style:ident -> $value:expr) => (cell!($value).style_spec(stringify!($style))); } #[cfg(test)] diff --git a/src/lib.rs b/src/lib.rs index f356c6b4e5..7e373e1730 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -410,8 +410,8 @@ impl <'a, T, E> Slice<'a, E> for T where T: AsRef>, [Row]: Index< /// ``` /// # #[macro_use] extern crate prettytable; /// # fn main() { -/// let tab = table!([FrByl:"Element1", Fgc:"Element2", "Element3"], -/// [FrBy -> 1, 2, 3], +/// let tab = table!([FrByl->"Element1", Fgc->"Element2", "Element3"], +/// [FrBy => 1, 2, 3], /// ["A", "B", "C"] /// ); /// # drop(tab); diff --git a/src/main.rs b/src/main.rs index ac29515a63..e966b2a575 100644 --- a/src/main.rs +++ b/src/main.rs @@ -14,11 +14,11 @@ use term::{Attr, color}; fn main() { let _ = table!(); let mut table = Table::new(); - table.add_row(row![FrByb:"ABC", "DEFG", "HIJKLMN"]); + table.add_row(row![FrByb->"ABC", "DEFG", "HIJKLMN"]); table.add_row(row!["foobar", "bar", "foo"]); table.add_row(row![]); // Add style to a full row - table.add_row(row![FY -> "styled", "bar", "foo"]); + table.add_row(row![FY => "styled", "bar", "foo"]); table.add_row(Row::new(vec![ Cell::new("foobar2"), // Create a cell with a red foreground color @@ -40,10 +40,10 @@ fn main() { // Print a table with some styles on it : // FrBybl means : Foregound red, Background yellow, bold, left align // d means : Default, do nothing - ptable!([FrBybl:"A", "B", FrBybr:"C"], [d:123, 234, 345, 456]); + ptable!([FrBybl->"A", "B", FrBybr->"C"], [d->123, 234, 345, 456]); // You can also apply style to full rows : - let mut table = table!([Frb -> "A", "B", "C"], [1, 2, 3, 4], ["A\nBCCZZZ\nDDD", 2, table]); + let mut table = table!([Frb => "A", "B", "C"], [1, 2, 3, 4], ["A\nBCCZZZ\nDDD", 2, table]); table.set_titles(row!["Title 1", "Title 2"]); table.set_format(*consts::FORMAT_DEFAULT); table.printstd(); diff --git a/src/row.rs b/src/row.rs index 1edfa92b83..1c270ca2a4 100644 --- a/src/row.rs +++ b/src/row.rs @@ -174,9 +174,9 @@ impl From for Row where A: ToString, T : IntoIterator { /// let row1 = row!["Element 1", "Element 2", "Element 3"]; /// // Create a row with all cells formatted with red foreground color, yellow background color /// // bold, italic, align in the center of the cell -/// let row2 = row![FrBybic -> "Element 1", "Element 2", "Element 3"]; +/// let row2 = row![FrBybic => "Element 1", "Element 2", "Element 3"]; /// // Create a row with first cell in blue, second one in red, and last one with default style -/// let row3 = row![Fb:"blue", Fr:"red", "normal"]; +/// let row3 = row![Fb->"blue", Fr->"red", "normal"]; /// // Do something with rows /// # drop(row1); /// # drop(row2); @@ -189,10 +189,10 @@ impl From for Row where A: ToString, T : IntoIterator { macro_rules! row { (($($out:tt)*); $value:expr) => (vec![$($out)* cell!($value)]); (($($out:tt)*); $value:expr, $($n:tt)*) => (row!(($($out)* cell!($value),); $($n)*)); - (($($out:tt)*); $style:ident : $value:expr) => (vec![$($out)* cell!($style : $value)]); - (($($out:tt)*); $style:ident : $value:expr, $($n: tt)*) => (row!(($($out)* cell!($style : $value),); $($n)*)); + (($($out:tt)*); $style:ident -> $value:expr) => (vec![$($out)* cell!($style -> $value)]); + (($($out:tt)*); $style:ident -> $value:expr, $($n: tt)*) => (row!(($($out)* cell!($style -> $value),); $($n)*)); ($($content:expr), *) => ($crate::row::Row::new(vec![$(cell!($content)), *])); - ($style:ident -> $($content:expr), *) => ($crate::row::Row::new(vec![$(cell!($style : $content)), *])); + ($style:ident => $($content:expr), *) => ($crate::row::Row::new(vec![$(cell!($style -> $content)), *])); ($($content:tt)*) => ($crate::row::Row::new(row!((); $($content)*))); }