diff --git a/src/modes/status.rs b/src/modes/status.rs index e7f0f5b..00f03e7 100644 --- a/src/modes/status.rs +++ b/src/modes/status.rs @@ -280,24 +280,24 @@ fn build_meta_plugin_table(meta_plugin_info: &Vec) -> Table { b->"Options", b->"Outputs")); - for info in meta_plugin_info { + for (i, info) in meta_plugin_info.iter().enumerate() { // Get default options for the meta plugin let meta_plugin_type = match MetaPluginType::from_str(&info.meta_name) { Ok(plugin_type) => plugin_type, Err(_) => continue, }; - + // Create a default plugin to get its default options let default_plugin = get_meta_plugin( meta_plugin_type.clone(), None, None, ); - + // Get and sort options let mut options: Vec<_> = default_plugin.options().iter().collect(); options.sort_by(|a, b| a.0.cmp(b.0)); - + // Format options as YAML string, each on a new line let options_str = if options.is_empty() { "{}".to_string() @@ -308,7 +308,7 @@ fn build_meta_plugin_table(meta_plugin_info: &Vec) -> Table { .trim() .to_string() }; - + // Get and sort output keys let mut output_keys: Vec = info.outputs.keys().map(|k| k.to_string()).collect(); output_keys.sort(); @@ -317,12 +317,21 @@ fn build_meta_plugin_table(meta_plugin_info: &Vec) -> Table { } else { output_keys.join("\n") }; - + meta_plugin_table.add_row(Row::new(vec![ Cell::new(&info.meta_name), Cell::new(&options_str), Cell::new(&outputs_display), ])); + + // Add a separator line after each row except the last one + if i < meta_plugin_info.len() - 1 { + meta_plugin_table.add_row(Row::new(vec![ + Cell::new("").with_style(Attr::ForegroundColor(color::BRIGHT_BLACK)), + Cell::new("").with_style(Attr::ForegroundColor(color::BRIGHT_BLACK)), + Cell::new("").with_style(Attr::ForegroundColor(color::BRIGHT_BLACK)), + ])); + } } meta_plugin_table