pub trait Opener { // Required methods fn command(&self) -> Option<String>; fn open(&self, command: &str, file: &Path) -> Result<()>; }