diff --git a/src/meta_plugin/command.rs b/src/meta_plugin/command.rs index f054a43..bcad0fd 100644 --- a/src/meta_plugin/command.rs +++ b/src/meta_plugin/command.rs @@ -5,7 +5,6 @@ use which::which; use crate::meta_plugin::{MetaPlugin, MetaPluginResponse, MetaPluginType}; -#[derive(Debug)] pub struct MetaPluginCommand { pub program: String, pub args: Vec, @@ -18,6 +17,23 @@ pub struct MetaPluginCommand { options: std::collections::HashMap, } +// Manual Debug implementation because Box doesn't implement Debug +impl std::fmt::Debug for MetaPluginCommand { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.debug_struct("MetaPluginCommand") + .field("program", &self.program) + .field("args", &self.args) + .field("supported", &self.supported) + .field("split_whitespace", &self.split_whitespace) + .field("process", &self.process) + .field("writer", &self.writer.as_ref().map(|_| "Box")) + .field("result", &self.result) + .field("outputs", &self.outputs) + .field("options", &self.options) + .finish() + } +} + impl MetaPluginCommand { pub fn new(