1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use std::ffi::OsStr;

/// Simple wrapper around a String
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord)]
pub struct Terminal(pub String);

impl From<String> for Terminal {
    fn from(value: String) -> Self {
        Self(value)
    }
}

impl From<&str> for Terminal {
    fn from(value: &str) -> Self {
        Self(value.to_owned())
    }
}

impl AsRef<OsStr> for Terminal {
    fn as_ref(&self) -> &OsStr {
        OsStr::new(&self.0)
    }
}