feat: add binary meta plugin implementation
Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat>
This commit is contained in:
56
src/meta_plugin/binary.rs
Normal file
56
src/meta_plugin/binary.rs
Normal file
@@ -0,0 +1,56 @@
|
||||
use crate::meta_plugin::{BaseMetaPlugin, MetaPlugin, MetaPluginType};
|
||||
use crate::services::error::CoreError;
|
||||
use std::path::Path;
|
||||
|
||||
pub struct BinaryMetaPlugin {
|
||||
base: BaseMetaPlugin,
|
||||
}
|
||||
|
||||
impl BinaryMetaPlugin {
|
||||
pub fn new() -> Self {
|
||||
BinaryMetaPlugin {
|
||||
base: BaseMetaPlugin {
|
||||
outputs: std::collections::HashMap::new(),
|
||||
options: std::collections::HashMap::new(),
|
||||
is_finalized: false,
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl MetaPlugin for BinaryMetaPlugin {
|
||||
fn meta_type(&self) -> MetaPluginType {
|
||||
MetaPluginType::Binary
|
||||
}
|
||||
|
||||
fn is_supported(&self) -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
fn is_internal(&self) -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
fn process(&mut self, path: &Path) -> Result<(), CoreError> {
|
||||
// TODO: Implement binary detection logic
|
||||
// For now, we'll just set a placeholder value
|
||||
self.base.outputs.insert(
|
||||
"is_binary".to_string(),
|
||||
serde_yaml::Value::Bool(false),
|
||||
);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn finalize(&mut self) -> Result<(), CoreError> {
|
||||
self.base.is_finalized = true;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn get_outputs(&self) -> Result<std::collections::HashMap<String, serde_yaml::Value>, CoreError> {
|
||||
Ok(self.base.outputs.clone())
|
||||
}
|
||||
|
||||
fn get_options(&self) -> Result<std::collections::HashMap<String, serde_yaml::Value>, CoreError> {
|
||||
Ok(self.base.options.clone())
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user