From f5149cfb686faa57ac2373bf61257ba54090ca57 Mon Sep 17 00:00:00 2001 From: Andrew Phillips Date: Mon, 11 Aug 2025 12:14:06 -0300 Subject: [PATCH] feat: sort meta plugins list by name in status output Co-authored-by: aider (openai/andrew/openrouter/qwen/qwen3-coder) --- src/modes/server.rs | 9 ++++++++- src/modes/status.rs | 18 ++++++++++++++++-- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/modes/server.rs b/src/modes/server.rs index 25417ff..bd33447 100644 --- a/src/modes/server.rs +++ b/src/modes/server.rs @@ -259,7 +259,14 @@ async fn handle_status( let mut meta_plugin_info = Vec::new(); - for meta_plugin_type in MetaPluginType::iter() { + // Sort meta plugin types by their meta name + let mut sorted_meta_plugins: Vec = MetaPluginType::iter().collect(); + sorted_meta_plugins.sort_by_key(|meta_plugin_type| { + let mut meta_plugin = get_meta_plugin(meta_plugin_type.clone()); + meta_plugin.meta_name() + }); + + for meta_plugin_type in sorted_meta_plugins { let mut meta_plugin = get_meta_plugin(meta_plugin_type.clone()); let is_supported = meta_plugin.is_supported(); let is_enabled = meta_plugin_types.contains(&meta_plugin_type); diff --git a/src/modes/status.rs b/src/modes/status.rs index 8d5ab51..444a236 100644 --- a/src/modes/status.rs +++ b/src/modes/status.rs @@ -129,7 +129,14 @@ fn build_meta_plugin_table(enabled_meta_plugins: &Vec) -> Table b->"Binary", b->"Args")); - for meta_plugin_type in MetaPluginType::iter() { + // Sort meta plugin types by their meta name + let mut sorted_meta_plugins: Vec = MetaPluginType::iter().collect(); + sorted_meta_plugins.sort_by_key(|meta_plugin_type| { + let mut meta_plugin = meta_plugin::get_meta_plugin(meta_plugin_type.clone()); + meta_plugin.meta_name() + }); + + for meta_plugin_type in sorted_meta_plugins { let mut meta_plugin = meta_plugin::get_meta_plugin(meta_plugin_type.clone()); let is_supported = meta_plugin.is_supported(); let is_enabled = enabled_meta_plugins.contains(&meta_plugin_type); @@ -226,7 +233,14 @@ fn show_status_structured( let mut meta_plugin_info = Vec::new(); - for meta_plugin_type in MetaPluginType::iter() { + // Sort meta plugin types by their meta name + let mut sorted_meta_plugins: Vec = MetaPluginType::iter().collect(); + sorted_meta_plugins.sort_by_key(|meta_plugin_type| { + let mut meta_plugin = meta_plugin::get_meta_plugin(meta_plugin_type.clone()); + meta_plugin.meta_name() + }); + + for meta_plugin_type in sorted_meta_plugins { let mut meta_plugin = meta_plugin::get_meta_plugin(meta_plugin_type.clone()); let is_supported = meta_plugin.is_supported(); let is_enabled = enabled_meta_plugins.contains(&meta_plugin_type);