pub trait Terminal {
// Required methods
fn open_tab(&self, path: &Path, session_id: Option<&str>) -> Result<()>;
fn open_window(&self, path: &Path, session_id: Option<&str>) -> Result<()>;
fn switch_to_directory(&self, path: &Path) -> Result<()>;
fn echo_commands(&self, path: &Path) -> Result<()>;
fn is_supported(&self) -> bool;
}