]> git.scottworley.com Git - tablify/commitdiff
Plumb config around
authorScott Worley <scottworley@scottworley.com>
Thu, 3 Oct 2024 05:00:39 +0000 (22:00 -0700)
committerScott Worley <scottworley@scottworley.com>
Fri, 4 Oct 2024 05:09:16 +0000 (22:09 -0700)
src/lib.rs

index d55aa53027e90c2e063ede8e80f0ee0bb9022b29..acf53834208d68cc32fc75f9959c027e850f54ed 100644 (file)
@@ -293,7 +293,7 @@ fn render_all_leftovers(row: &Row) -> HTML {
     )
 }
 
     )
 }
 
-fn render_row(columns: &[String], rowlike: &mut Rowlike) -> HTML {
+fn render_row(config: &Config, columns: &[String], rowlike: &mut Rowlike) -> HTML {
     match rowlike {
         Rowlike::Spacer => HTML::from("<tr><th class=\"spacer_row\"></th></tr>\n"),
         Rowlike::Row(row) => {
     match rowlike {
         Rowlike::Spacer => HTML::from("<tr><th class=\"spacer_row\"></th></tr>\n"),
         Rowlike::Row(row) => {
@@ -310,7 +310,7 @@ fn render_row(columns: &[String], rowlike: &mut Rowlike) -> HTML {
     }
 }
 
     }
 }
 
-fn render_column_headers(columns: &[String]) -> HTML {
+fn render_column_headers(config: &Config, columns: &[String]) -> HTML {
     HTML(
         String::from(r#"<tr class="key"><th></th>"#)
             + &columns.iter().fold(String::new(), |mut acc, col| {
     HTML(
         String::from(r#"<tr class="key"><th></th>"#)
             + &columns.iter().fold(String::new(), |mut acc, col| {
@@ -337,9 +337,9 @@ pub fn tablify(input: impl std::io::Read) -> Result<HTML, std::io::Error> {
     let columns = column_order(&config, &rows);
     Ok(HTML(format!(
         "{HEADER}{}{}{FOOTER}",
     let columns = column_order(&config, &rows);
     Ok(HTML(format!(
         "{HEADER}{}{}{FOOTER}",
-        render_column_headers(&columns),
+        render_column_headers(&config, &columns),
         rows.into_iter()
         rows.into_iter()
-            .map(|mut r| render_row(&columns, &mut r))
+            .map(|mut r| render_row(&config, &columns, &mut r))
             .collect::<HTML>()
     )))
 }
             .collect::<HTML>()
     )))
 }
@@ -674,6 +674,9 @@ mod tests {
     fn test_render_row() {
         assert_eq!(
             render_row(
     fn test_render_row() {
         assert_eq!(
             render_row(
+                &Config {
+                    column_threshold: 0,
+                },
                 &["foo".to_owned()],
                 &mut Rowlike::Row(Row {
                     label: "nope".to_owned(),
                 &["foo".to_owned()],
                 &mut Rowlike::Row(Row {
                     label: "nope".to_owned(),