tmux_interface 0.4.0

Rust language library for communication with TMUX via CLI
Documentation
use crate::options::*;
use crate::{SetOption, SetOptionTr, TmuxCommand};
use std::borrow::Cow;

pub struct SetServerOption;

impl SetServerOptionTr for SetServerOption {}

impl SetUserOption for SetServerOption {}

impl SetOptionTr for SetServerOption {
    fn set<'a, T: Into<Cow<'a, str>>, S: Into<Cow<'a, str>>>(
        name: T,
        value: Option<S>,
    ) -> TmuxCommand<'a> {
        let cmd = SetOption::new().server().option(name);
        let cmd = match value {
            Some(value) => cmd.value(value),
            None => cmd.unset(),
        };
        cmd.build()
    }

    fn unset<'a, T: Into<Cow<'a, str>>>(name: T) -> TmuxCommand<'a> {
        let cmd = SetOption::new().server().option(name).unset();
        cmd.build()
    }
}