use crate::{GetSessionOptionTr, TmuxCommand, TmuxCommands};
use std::borrow::Cow;
pub trait GetSessionOptionsTr<'a, Getter: GetSessionOptionTr> {
fn new() -> Self;
fn push<T: Into<TmuxCommand<'a>>>(&mut self, cmd: T);
fn into_commands(self) -> TmuxCommands<'a>;
#[cfg(feature = "tmux_2_6")]
fn activity_action<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::activity_action(target));
self
}
#[cfg(feature = "tmux_1_8")]
fn assume_paste_time<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::assume_paste_time(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn base_index<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::base_index(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn bell_action<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::bell_action(target));
self
}
#[cfg(all(feature = "tmux_1_5", not(feature = "tmux_2_6")))]
fn bell_on_alert<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::bell_on_alert(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_4")))]
fn buffer_limit<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::buffer_limit(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn default_command<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::default_command(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn default_shell<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::default_shell(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn default_path<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::default_path(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_2_1")))]
fn default_terminal<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::default_terminal(target));
self
}
#[cfg(feature = "tmux_2_9")]
fn default_size<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::default_size(target));
self
}
#[cfg(feature = "tmux_1_5")]
fn destroy_unattached<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::destroy_unattached(target));
self
}
#[cfg(feature = "tmux_1_4")]
fn detach_on_destroy<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::detach_on_destroy(target));
self
}
#[cfg(feature = "tmux_1_2")]
fn display_panes_active_colour<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::display_panes_active_colour(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn display_panes_colour<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::display_panes_colour(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn display_panes_time<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::display_panes_time(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn display_time<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::display_time(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn history_limit<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::history_limit(target));
self
}
#[cfg(feature = "tmux_2_2")]
fn key_table<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::key_table(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn lock_after_time<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::lock_after_time(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn lock_command<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::lock_command(target));
self
}
#[cfg(all(feature = "tmux_1_1", not(feature = "tmux_2_1")))]
fn lock_server<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::lock_server(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn message_attr<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::message_attr(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn message_bg<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::message_bg(target));
self
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn message_command_attr<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::message_command_attr(target));
self
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn message_command_bg<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::message_command_bg(target));
self
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn message_command_fg<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::message_command_fg(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn message_fg<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::message_fg(target));
self
}
#[cfg(feature = "tmux_1_9")]
fn message_command_style<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::message_command_style(target));
self
}
#[cfg(feature = "tmux_3_4")]
fn message_line<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::message_line(target));
self
}
#[cfg(all(feature = "tmux_1_2", not(feature = "tmux_2_0")))]
fn message_limit<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::message_limit(target));
self
}
#[cfg(feature = "tmux_1_9")]
fn message_style<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::message_style(target));
self
}
#[cfg(all(feature = "tmux_1_5", not(feature = "tmux_2_1")))]
fn mouse_resize_pane<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::mouse_resize_pane(target));
self
}
#[cfg(all(feature = "tmux_1_5", not(feature = "tmux_2_1")))]
fn mouse_select_pane<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::mouse_select_pane(target));
self
}
#[cfg(all(feature = "tmux_1_5", not(feature = "tmux_2_1")))]
fn mouse_select_window<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::mouse_select_window(target));
self
}
#[cfg(feature = "tmux_2_1")]
fn mouse<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::mouse(target));
self
}
#[cfg(all(feature = "tmux_1_5", not(feature = "tmux_2_2")))]
fn mouse_utf8<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::mouse_utf8(target));
self
}
#[cfg(all(feature = "tmux_1_2", not(feature = "tmux_1_9")))]
fn pane_active_border_bg<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::pane_active_border_bg(target));
self
}
#[cfg(all(feature = "tmux_1_2", not(feature = "tmux_1_9")))]
fn pane_active_border_fg<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::pane_active_border_fg(target));
self
}
#[cfg(all(feature = "tmux_1_2", not(feature = "tmux_1_9")))]
fn pane_border_bg<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::pane_border_bg(target));
self
}
#[cfg(all(feature = "tmux_1_2", not(feature = "tmux_1_9")))]
fn pane_border_fg<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::pane_border_fg(target));
self
}
#[cfg(all(feature = "tmux_1_9", not(feature = "tmux_2_0")))]
fn pane_active_border_style<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::pane_active_border_style(target));
self
}
#[cfg(all(feature = "tmux_1_9", not(feature = "tmux_2_0")))]
fn pane_border_style<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::pane_border_style(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn prefix<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::prefix(target));
self
}
#[cfg(feature = "tmux_1_6")]
fn prefix2<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::prefix2(target));
self
}
#[cfg(feature = "tmux_1_7")]
fn renumber_windows<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::renumber_windows(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn repeat_time<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::repeat_time(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_2_4")))]
fn set_remain_on_exit<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::set_remain_on_exit(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn set_titles<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::set_titles(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn set_titles_string<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::set_titles_string(target));
self
}
#[cfg(feature = "tmux_2_6")]
fn silence_action<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::silence_action(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn status<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn status_attr<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_attr(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn status_bg<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_bg(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn status_fg<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_fg(target));
self
}
#[cfg(feature = "tmux_2_9")]
fn status_format<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_format(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn status_interval<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_interval(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn status_justify<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_justify(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn status_keys<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_keys(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn status_left<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_left(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn status_left_attr<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_left_attr(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn status_left_bg<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_left_bg(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn status_left_fg<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_left_fg(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn status_left_length<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_left_length(target));
self
}
#[cfg(feature = "tmux_1_9")]
fn status_left_style<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_left_style(target));
self
}
#[cfg(feature = "tmux_1_7")]
fn status_position<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_position(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn status_right<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_right(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn status_right_attr<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_right_attr(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn status_right_bg<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_right_bg(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn status_right_fg<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_right_fg(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn status_right_length<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_right_length(target));
self
}
#[cfg(feature = "tmux_1_9")]
fn status_right_style<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_right_style(target));
self
}
#[cfg(feature = "tmux_1_9")]
fn status_style<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_style(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_2_2")))]
fn status_utf8<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::status_utf8(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_2_0")))]
fn terminal_overrides<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::terminal_overrides(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn update_environment<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::update_environment(target));
self
}
#[cfg(all(feature = "tmux_2_6", not(feature = "tmux_3_0")))]
fn user_keys<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::user_keys(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn visual_activity<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::visual_activity(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn visual_bell<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::visual_bell(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_2_0")))]
fn visual_content<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::visual_content(target));
self
}
#[cfg(feature = "tmux_1_4")]
fn visual_silence<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::visual_silence(target));
self
}
#[cfg(feature = "tmux_1_6")]
fn word_separators<S>(mut self, target: Option<S>) -> Self
where
S: Into<Cow<'a, str>>,
Self: Sized,
{
self.push(Getter::word_separators(target));
self
}
}