use crate::{GetServerOptionTr, TmuxCommand, TmuxCommands};
pub trait GetServerOptionsTr<'a> {
type Getter: GetServerOptionTr;
fn new() -> Self;
fn push(&mut self, option: TmuxCommand<'a>);
fn push_cmds(&mut self, options: TmuxCommands<'a>);
#[cfg(feature = "tmux_3_1")]
fn backspace(mut self) -> Self
where
Self: Sized,
{
self.push(Self::Getter::backspace());
self
}
#[cfg(feature = "tmux_1_5")]
fn buffer_limit(mut self) -> Self
where
Self: Sized,
{
self.push(Self::Getter::buffer_limit());
self
}
#[cfg(feature = "tmux_2_4")]
fn command_alias(mut self) -> Self
where
Self: Sized,
{
self.push(Self::Getter::command_alias());
self
}
#[cfg(feature = "tmux_3_2")]
fn copy_command(mut self) -> Self
where
Self: Sized,
{
self.push(Self::Getter::copy_command());
self
}
#[cfg(feature = "tmux_2_1")]
fn default_terminal(mut self) -> Self
where
Self: Sized,
{
self.push(Self::Getter::default_terminal());
self
}
#[cfg(feature = "tmux_1_2")]
fn escape_time(mut self) -> Self
where
Self: Sized,
{
self.push(Self::Getter::escape_time());
self
}
#[cfg(feature = "tmux_3_2")]
fn editor(mut self) -> Self
where
Self: Sized,
{
self.push(Self::Getter::editor());
self
}
#[cfg(feature = "tmux_2_7")]
fn exit_empty(mut self) -> Self
where
Self: Sized,
{
self.push(Self::Getter::exit_empty());
self
}
#[cfg(feature = "tmux_1_4")]
fn exit_unattached(mut self) -> Self
where
Self: Sized,
{
self.push(Self::Getter::exit_unattached());
self
}
#[cfg(feature = "tmux_3_2")]
fn extended_keys(mut self) -> Self
where
Self: Sized,
{
self.push(Self::Getter::extended_keys());
self
}
#[cfg(feature = "tmux_1_9")]
fn focus_events(mut self) -> Self
where
Self: Sized,
{
self.push(Self::Getter::focus_events());
self
}
#[cfg(feature = "tmux_2_1")]
fn history_file(mut self) -> Self
where
Self: Sized,
{
self.push(Self::Getter::history_file());
self
}
#[cfg(feature = "tmux_2_0")]
fn message_limit(mut self) -> Self
where
Self: Sized,
{
self.push(Self::Getter::message_limit());
self
}
#[cfg(feature = "tmux_3_3")]
fn prompt_history_limit(mut self) -> Self
where
Self: Sized,
{
self.push(Self::Getter::prompt_history_limit());
self
}
#[cfg(feature = "tmux_1_5")]
fn set_clipboard(mut self) -> Self
where
Self: Sized,
{
self.push(Self::Getter::set_clipboard());
self
}
#[cfg(feature = "tmux_3_2")]
fn terminal_features(mut self) -> Self
where
Self: Sized,
{
self.push(Self::Getter::terminal_features());
self
}
#[cfg(feature = "tmux_2_0")]
fn terminal_overrides(mut self) -> Self
where
Self: Sized,
{
self.push(Self::Getter::terminal_overrides());
self
}
#[cfg(feature = "tmux_3_0")]
fn user_keys(mut self) -> Self
where
Self: Sized,
{
self.push(Self::Getter::user_keys());
self
}
#[cfg(all(feature = "tmux_1_2", not(feature = "tmux_2_0")))]
fn quiet(mut self) -> Self
where
Self: Sized,
{
self.push(Self::Getter::quiet());
self
}
#[cfg(all(feature = "tmux_1_3", not(feature = "tmux_1_4")))]
fn detach_on_destroy(mut self) -> Self
where
Self: Sized,
{
self.push(Self::Getter::detach_on_destroy());
self
}
fn build(self) -> TmuxCommands<'a>;
}