fix: import MetaPlugin trait and use empty hashmaps for meta plugins

Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat>
This commit is contained in:
Andrew Phillips
2025-08-27 22:46:03 -03:00
parent b59875d1df
commit 2a92ecaf59

View File

@@ -2,6 +2,7 @@ use anyhow::Result;
use clap::Command; use clap::Command;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use serde_yaml; use serde_yaml;
use crate::meta_plugin::MetaPlugin;
#[derive(Debug, Serialize, Deserialize)] #[derive(Debug, Serialize, Deserialize)]
struct DefaultConfig { struct DefaultConfig {
@@ -58,14 +59,7 @@ struct MetaPluginConfig {
} }
pub fn mode_generate_config(_cmd: &mut Command, _settings: &crate::config::Settings) -> Result<()> { pub fn mode_generate_config(_cmd: &mut Command, _settings: &crate::config::Settings) -> Result<()> {
// Create instances of each meta plugin to get their default options and outputs // Create a default configuration with empty options and outputs for meta plugins
let text_plugin = crate::meta_plugin::text::TextMetaPlugin::new(None, None);
let cwd_plugin = crate::meta_plugin::cwd::CwdMetaPlugin::new(None, None);
let digest_plugin = crate::meta_plugin::digest::DigestMetaPlugin::new(None, None);
let hostname_plugin = crate::meta_plugin::hostname::HostnameMetaPlugin::new(None, None);
let magic_file_plugin = crate::meta_plugin::magic::MagicFileMetaPlugin::new(None, None);
// Create a default configuration
let default_config = DefaultConfig { let default_config = DefaultConfig {
dir: Some("~/.local/share/keep".to_string()), dir: Some("~/.local/share/keep".to_string()),
list_format: vec![ list_format: vec![
@@ -121,28 +115,28 @@ pub fn mode_generate_config(_cmd: &mut Command, _settings: &crate::config::Setti
meta_plugins: Some(vec![ meta_plugins: Some(vec![
MetaPluginConfig { MetaPluginConfig {
name: "text".to_string(), name: "text".to_string(),
options: text_plugin.options().clone(), options: std::collections::HashMap::new(),
outputs: text_plugin.outputs().clone(), outputs: std::collections::HashMap::new(),
}, },
MetaPluginConfig { MetaPluginConfig {
name: "cwd".to_string(), name: "cwd".to_string(),
options: cwd_plugin.options().clone(), options: std::collections::HashMap::new(),
outputs: cwd_plugin.outputs().clone(), outputs: std::collections::HashMap::new(),
}, },
MetaPluginConfig { MetaPluginConfig {
name: "digest".to_string(), name: "digest".to_string(),
options: digest_plugin.options().clone(), options: std::collections::HashMap::new(),
outputs: digest_plugin.outputs().clone(), outputs: std::collections::HashMap::new(),
}, },
MetaPluginConfig { MetaPluginConfig {
name: "hostname".to_string(), name: "hostname".to_string(),
options: hostname_plugin.options().clone(), options: std::collections::HashMap::new(),
outputs: hostname_plugin.outputs().clone(), outputs: std::collections::HashMap::new(),
}, },
MetaPluginConfig { MetaPluginConfig {
name: "magic_file".to_string(), name: "magic_file".to_string(),
options: magic_file_plugin.options().clone(), options: std::collections::HashMap::new(),
outputs: magic_file_plugin.outputs().clone(), outputs: std::collections::HashMap::new(),
}, },
]), ]),
}; };