fix: correctly display meta plugin implementation status in status mode
Co-authored-by: aider (openai/andrew.openrouter.qwen.qwen3-coder) <aider@aider.chat>
This commit is contained in:
@@ -137,9 +137,27 @@ fn build_meta_plugin_table() -> Table {
|
|||||||
let is_default = meta_plugin_type == default_type;
|
let is_default = meta_plugin_type == default_type;
|
||||||
|
|
||||||
// Get program info for display purposes
|
// Get program info for display purposes
|
||||||
let meta_plugin_program: MetaPluginProgram = match &META_PLUGIN_PROGRAMS[meta_plugin_type.clone()] {
|
let meta_plugin_program: Option<MetaPluginProgram> = META_PLUGIN_PROGRAMS[meta_plugin_type.clone()].clone();
|
||||||
Some(meta_plugin_program) => meta_plugin_program.clone(),
|
|
||||||
None => MetaPluginProgram::new("", vec![], "".to_string(), false),
|
// Determine what implementation will actually be used
|
||||||
|
let (binary_display, args_display) = match meta_plugin_type {
|
||||||
|
// For internal plugins, always show as internal
|
||||||
|
MetaPluginType::DigestSha256 | MetaPluginType::ReadTime | MetaPluginType::ReadRate => {
|
||||||
|
("<INTERNAL>".to_string(), "".to_string())
|
||||||
|
},
|
||||||
|
// For program-based plugins, show program info if supported, otherwise show as not found
|
||||||
|
_ => {
|
||||||
|
match &meta_plugin_program {
|
||||||
|
Some(program) => {
|
||||||
|
if program.supported {
|
||||||
|
(program.program.clone(), program.args.join(" "))
|
||||||
|
} else {
|
||||||
|
("<NOT FOUND>".to_string(), "".to_string())
|
||||||
|
}
|
||||||
|
},
|
||||||
|
None => ("<INTERNAL>".to_string(), "".to_string()),
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
meta_plugin_table.add_row(Row::new(vec![
|
meta_plugin_table.add_row(Row::new(vec![
|
||||||
@@ -152,13 +170,8 @@ fn build_meta_plugin_table() -> Table {
|
|||||||
true => Cell::new("Yes").with_style(Attr::ForegroundColor(color::GREEN)),
|
true => Cell::new("Yes").with_style(Attr::ForegroundColor(color::GREEN)),
|
||||||
false => Cell::new("No"),
|
false => Cell::new("No"),
|
||||||
},
|
},
|
||||||
match meta_plugin_program.program.is_empty() && is_supported {
|
Cell::new(&binary_display),
|
||||||
true => {
|
Cell::new(&args_display),
|
||||||
Cell::new("<INTERNAL>").with_style(Attr::ForegroundColor(color::BRIGHT_BLACK))
|
|
||||||
}
|
|
||||||
false => Cell::new(&meta_plugin_program.program),
|
|
||||||
},
|
|
||||||
Cell::new(&meta_plugin_program.args.join(" ")),
|
|
||||||
Cell::new(&meta_plugin.meta_name()),
|
Cell::new(&meta_plugin.meta_name()),
|
||||||
]));
|
]));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user