diff --git a/src/modes/common.rs b/src/modes/common.rs index ce04764..19ed09c 100644 --- a/src/modes/common.rs +++ b/src/modes/common.rs @@ -140,6 +140,14 @@ pub fn settings_output_format(settings: &config::Settings) -> OutputFormat { .unwrap_or(OutputFormat::Table) } +/// Trim whitespace from the end of each line in a string +pub fn trim_lines_end(s: &str) -> String { + s.lines() + .map(|line| line.trim_end()) + .collect::>() + .join("\n") +} + /// Create a table with consistent styling and terminal detection pub fn create_table(use_styling: bool) -> Table { let mut table = Table::new(); diff --git a/src/modes/info.rs b/src/modes/info.rs index a8cfb9e..ffa7c9a 100644 --- a/src/modes/info.rs +++ b/src/modes/info.rs @@ -125,7 +125,7 @@ fn show_item( ]); } - println!("{}", table.trim_fmt().trim_end()); + println!("{}", crate::modes::common::trim_lines_end(&table.trim_fmt())); Ok(()) } diff --git a/src/modes/list.rs b/src/modes/list.rs index dae0398..1bf8bcb 100644 --- a/src/modes/list.rs +++ b/src/modes/list.rs @@ -167,7 +167,7 @@ pub fn mode_list( table.add_row(table_row); } - println!("{}", table.trim_fmt().trim_end()); + println!("{}", crate::modes::common::trim_lines_end(&table.trim_fmt())); Ok(()) } diff --git a/src/modes/status.rs b/src/modes/status.rs index df0845a..46e05c4 100644 --- a/src/modes/status.rs +++ b/src/modes/status.rs @@ -210,18 +210,18 @@ pub fn mode_status( OutputFormat::Table => { println!("CONFIG:"); let config_table = build_config_table(settings); - println!("{}", config_table.trim_fmt().trim_end()); + println!("{}", crate::modes::common::trim_lines_end(&config_table.trim_fmt())); println!(); println!("PATHS:"); let path_table = build_path_table(&status_info.paths); - println!("{}", path_table.trim_fmt().trim_end()); + println!("{}", crate::modes::common::trim_lines_end(&path_table.trim_fmt())); println!(); // Always try to print META PLUGINS CONFIGURED section using status_info if let Some(meta_plugins_table) = build_meta_plugins_configured_table(&status_info) { println!("META PLUGINS CONFIGURED:"); - println!("{}", meta_plugins_table.trim_fmt().trim_end()); + println!("{}", crate::modes::common::trim_lines_end(&meta_plugins_table.trim_fmt())); println!(); } else { println!("META PLUGINS CONFIGURED:"); diff --git a/src/modes/status_plugins.rs b/src/modes/status_plugins.rs index f24a5f2..545551f 100644 --- a/src/modes/status_plugins.rs +++ b/src/modes/status_plugins.rs @@ -262,17 +262,17 @@ pub fn mode_status_plugins( println!("META PLUGINS:"); println!("META PLUGINS:"); let meta_table = build_meta_plugin_table(&status_info.meta_plugins); - println!("{}", meta_table.trim_fmt().trim_end()); + println!("{}", crate::modes::common::trim_lines_end(&meta_table.trim_fmt())); println!(); println!("COMPRESSION PLUGINS:"); let compression_table = build_compression_table(&status_info.compression); - println!("{}", compression_table.trim_fmt().trim_end()); + println!("{}", crate::modes::common::trim_lines_end(&compression_table.trim_fmt())); println!(); println!("FILTER PLUGINS:"); let filter_table = build_filter_plugin_table(&status_info.filter_plugins); - println!("{}", filter_table.trim_fmt().trim_end()); + println!("{}", crate::modes::common::trim_lines_end(&filter_table.trim_fmt())); println!(); Ok(()) },