fix: add missing meta_name argument to MetaPluginProgram::new

This commit is contained in:
Andrew Phillips (aider)
2025-05-22 13:32:52 -03:00
parent 232807d2cc
commit e2cb180a22

View File

@@ -16,7 +16,7 @@ use strum::IntoEnumIterator;
#[derive(Debug, Eq, PartialEq, Clone, strum::EnumIter, strum::Display, strum::EnumString, Enum)] #[derive(Debug, Eq, PartialEq, Clone, strum::EnumIter, strum::Display, strum::EnumString, Enum)]
#[strum(ascii_case_insensitive)] #[strum(ascii_case_insensitive)]
pub enum MetaPluginType { pub enum MetaPluginType {
FileMagic FileMagic,
} }
pub trait MetaPlugin { pub trait MetaPlugin {
@@ -37,7 +37,7 @@ use std::io::Write;
lazy_static! { lazy_static! {
pub static ref META_PLUGIN_PROGRAMS: EnumMap<MetaPluginType, Option<MetaPluginProgram>> = enum_map! { pub static ref META_PLUGIN_PROGRAMS: EnumMap<MetaPluginType, Option<MetaPluginProgram>> = enum_map! {
MetaPluginType::FileMagic => { MetaPluginType::FileMagic => {
let program = MetaPluginProgram::new("file", vec!["-bE", "-"]); let program = MetaPluginProgram::new("file", vec!["-bE", "-"], "file_magic".to_string());
if program.supported { Some(program) } else { None } if program.supported { Some(program) } else { None }
} }
}; };
@@ -45,6 +45,18 @@ lazy_static! {
pub fn get_meta_plugin(meta_plugin_type: MetaPluginType) -> Box<dyn MetaPlugin> { pub fn get_meta_plugin(meta_plugin_type: MetaPluginType) -> Box<dyn MetaPlugin> {
match meta_plugin_type { match meta_plugin_type {
MetaPluginType::FileMagic => Box::new(MetaPluginProgram::new("file", vec!["-bE", "-"])), MetaPluginType::FileMagic => Box::new(MetaPluginProgram::new("file", vec!["-bE", "-"], "file_magic".to_string())),
} }
} }
pub fn default_meta_plugin_type() -> MetaPluginType {
let mut default = MetaPluginType::FileMagic;
for meta_plugin_type in MetaPluginType::iter() {
let meta_plugin = get_meta_plugin(meta_plugin_type.clone());
if meta_plugin.is_supported() {
default = meta_plugin_type;
break;
}
}
default
}