tmux-sessionizer 0.6.1

Tmux Sessionizer is a cli tool to fuzzy find all git repositories in a list of specified folders and open them as a new tmux session. Also, for git worktrees, this tool opens all checked out worktrees as new windows.
Documentation
use error_stack::ResultExt;

use crate::{Result, TmsError};

pub trait DirtyUtf8Path {
    fn to_string(&self) -> Result<String>;
}

impl DirtyUtf8Path for std::path::PathBuf {
    fn to_string(&self) -> Result<String> {
        Ok(self
            .to_str()
            .ok_or(TmsError::NonUtf8Path)
            .attach_printable("Not a valid utf8 path")?
            .to_string())
    }
}
impl DirtyUtf8Path for std::path::Path {
    fn to_string(&self) -> Result<String> {
        Ok(self
            .to_str()
            .ok_or(TmsError::NonUtf8Path)
            .attach_printable("Not a valid utf8 path")?
            .to_string())
    }
}
impl DirtyUtf8Path for std::ffi::OsStr {
    fn to_string(&self) -> Result<String> {
        Ok(self
            .to_str()
            .ok_or(TmsError::NonUtf8Path)
            .attach_printable("Not a valid utf8 path")?
            .to_string())
    }
}