use crate::{ShowOptions, TmuxCommand};
use std::borrow::Cow;
pub trait GetOptionTr {
fn get<'a, S>(name: S) -> TmuxCommand<'a>
where
S: Into<Cow<'a, str>>,
{
ShowOptions::new().option(name).build()
}
fn get_ext<'a, T, S>(target: Option<S>, name: T) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
S: Into<Cow<'a, str>>,
{
let cmd = ShowOptions::new().option(name);
let cmd = match target {
#[cfg(all(feature = "tmux_0_8", not(feature = "tmux_3_0a")))]
Some(target) => cmd.target_session(target),
#[cfg(feature = "tmux_3_0a")]
Some(target) => cmd.target_pane(target),
None => cmd,
};
cmd.build()
}
fn get_all<'a, S>(target: Option<S>) -> TmuxCommand<'a>
where
S: Into<Cow<'a, str>>,
{
let cmd = ShowOptions::new();
let cmd = match target {
#[cfg(all(feature = "tmux_0_8", not(feature = "tmux_3_0a")))]
Some(target) => cmd.target_session(target),
#[cfg(feature = "tmux_3_0a")]
Some(target) => cmd.target_pane(target),
None => cmd,
};
cmd.build()
}
}