From fa029763a026dde7bd24e511e32936025a4b77c8 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Tue, 6 Feb 2024 06:21:38 -0600 Subject: [PATCH] Revert "Revert "!squash more window show_option"" This reverts commit 5a100f5aa9178672334df9dfac27540cf1820861. --- src/libtmux/window.py | 47 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/src/libtmux/window.py b/src/libtmux/window.py index 30ed7b126..a524fc6f8 100644 --- a/src/libtmux/window.py +++ b/src/libtmux/window.py @@ -441,11 +441,47 @@ def show_window_options(self, g: t.Optional[bool] = False) -> "WindowOptionDict" option_type=OptionType.Window, ) + @t.overload def show_options( self, - g: t.Optional[bool] = False, + g: t.Optional[bool], + option_type: t.Optional[OptionType], + include_hooks: t.Optional[bool], + include_parents: t.Optional[bool], + values_only: t.Literal[True], + ) -> t.List[str]: + ... + + @t.overload + def show_options( + self, + g: t.Optional[bool], + option_type: t.Optional[OptionType], + include_hooks: t.Optional[bool], + include_parents: t.Optional[bool], + values_only: t.Literal[None] = None, + ) -> "WindowOptionDict": + ... + + @t.overload + def show_options( + self, + g: t.Optional[bool] = None, option_type: t.Optional[OptionType] = None, + include_hooks: t.Optional[bool] = None, + include_parents: t.Optional[bool] = None, + values_only: t.Literal[False] = False, ) -> "WindowOptionDict": + ... + + def show_options( + self, + g: t.Optional[bool] = False, + option_type: t.Optional[OptionType] = None, + include_hooks: t.Optional[bool] = None, + include_parents: t.Optional[bool] = None, + values_only: t.Optional[bool] = False, + ) -> t.Union["WindowOptionDict", t.List[str]]: """Return a dict of options for the window. Parameters @@ -462,6 +498,15 @@ def show_options( assert option_type in OPTION_TYPE_FLAG_MAP tmux_args += (OPTION_TYPE_FLAG_MAP[option_type],) + if include_parents is not None and include_parents: + tmux_args += ("-A",) + + if include_hooks is not None and include_hooks: + tmux_args += ("-H",) + + if values_only is not None and values_only: + tmux_args += ("-v",) + cmd = self.cmd("show-options", *tmux_args) output = cmd.stdout