From b59875d1df1cc41088c085666772e020b7266ef2 Mon Sep 17 00:00:00 2001 From: Andrew Phillips Date: Wed, 27 Aug 2025 22:44:38 -0300 Subject: [PATCH] feat: use default options and outputs for meta plugins Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) --- src/modes/generate_config.rs | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/src/modes/generate_config.rs b/src/modes/generate_config.rs index 3e6203c..7b009e4 100644 --- a/src/modes/generate_config.rs +++ b/src/modes/generate_config.rs @@ -58,6 +58,13 @@ struct MetaPluginConfig { } 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 + 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 { dir: Some("~/.local/share/keep".to_string()), @@ -98,12 +105,6 @@ pub fn mode_generate_config(_cmd: &mut Command, _settings: &crate::config::Setti align: ColumnAlignment::Left, max_len: Some("28".to_string()), }, - ColumnConfig { - name: "meta:command".to_string(), - label: Some("Command".to_string()), - align: ColumnAlignment::Left, - max_len: Some("100".to_string()), - }, ], human_readable: false, output_format: Some("table".to_string()), @@ -120,28 +121,28 @@ pub fn mode_generate_config(_cmd: &mut Command, _settings: &crate::config::Setti meta_plugins: Some(vec![ MetaPluginConfig { name: "text".to_string(), - options: std::collections::HashMap::new(), - outputs: std::collections::HashMap::new(), + options: text_plugin.options().clone(), + outputs: text_plugin.outputs().clone(), }, MetaPluginConfig { name: "cwd".to_string(), - options: std::collections::HashMap::new(), - outputs: std::collections::HashMap::new(), + options: cwd_plugin.options().clone(), + outputs: cwd_plugin.outputs().clone(), }, MetaPluginConfig { name: "digest".to_string(), - options: std::collections::HashMap::new(), - outputs: std::collections::HashMap::new(), + options: digest_plugin.options().clone(), + outputs: digest_plugin.outputs().clone(), }, MetaPluginConfig { name: "hostname".to_string(), - options: std::collections::HashMap::new(), - outputs: std::collections::HashMap::new(), + options: hostname_plugin.options().clone(), + outputs: hostname_plugin.outputs().clone(), }, MetaPluginConfig { name: "magic_file".to_string(), - options: std::collections::HashMap::new(), - outputs: std::collections::HashMap::new(), + options: magic_file_plugin.options().clone(), + outputs: magic_file_plugin.outputs().clone(), }, ]), };