66"""
77import logging
88import os
9+ import pathlib
910import shlex
1011import subprocess
1112import sys
13+ import typing as t
1214
1315from libtmux ._compat import console_to_str
1416
1517from . import exc
1618
19+ if t .TYPE_CHECKING :
20+ from libtmux .pane import Pane
21+ from libtmux .server import Server
22+ from libtmux .session import Session
23+ from libtmux .window import Window
24+
1725logger = logging .getLogger (__name__ )
1826
1927PY2 = sys .version_info [0 ] == 2
2028
2129
22- def run_before_script (script_file , cwd = None ):
30+ def run_before_script (
31+ script_file : t .Union [str , pathlib .Path ], cwd : t .Optional [pathlib .Path ] = None
32+ ) -> int :
2333 """Function to wrap try/except for subprocess.check_call()."""
2434 try :
2535 proc = subprocess .Popen (
@@ -50,7 +60,7 @@ def run_before_script(script_file, cwd=None):
5060 raise e
5161
5262
53- def oh_my_zsh_auto_title ():
63+ def oh_my_zsh_auto_title () -> None :
5464 """Give warning and offer to fix ``DISABLE_AUTO_TITLE``.
5565
5666 see: https://github.com/robbyrussell/oh-my-zsh/pull/257
@@ -74,7 +84,7 @@ def oh_my_zsh_auto_title():
7484 )
7585
7686
77- def get_current_pane (server ) :
87+ def get_current_pane (server : "Server" ) -> t . Optional [ t . Dict [ str , str ]] :
7888 """Return Pane if one found in env"""
7989 if os .getenv ("TMUX_PANE" ) is not None :
8090 try :
@@ -83,7 +93,11 @@ def get_current_pane(server):
8393 pass
8494
8595
86- def get_session (server , session_name = None , current_pane = None ):
96+ def get_session (
97+ server : "Server" ,
98+ session_name : t .Optional [str ] = None ,
99+ current_pane : t .Optional [t .Dict [str , str ]] = None ,
100+ ) -> "Session" :
87101 try :
88102 if session_name :
89103 session = server .sessions .get (session_name = session_name )
@@ -107,7 +121,11 @@ def get_session(server, session_name=None, current_pane=None):
107121 return session
108122
109123
110- def get_window (session , window_name = None , current_pane = None ):
124+ def get_window (
125+ session : "Session" ,
126+ window_name : t .Optional [str ] = None ,
127+ current_pane : t .Optional [t .Dict [str , str ]] = None ,
128+ ) -> "Window" :
111129 try :
112130 if window_name :
113131 window = session .windows .get (window_name = window_name )
@@ -129,7 +147,9 @@ def get_window(session, window_name=None, current_pane=None):
129147 return window
130148
131149
132- def get_pane (window , current_pane = None ):
150+ def get_pane (
151+ window : "Window" , current_pane : t .Optional [t .Dict [str , str ]] = None
152+ ) -> "Pane" :
133153 try :
134154 if current_pane is not None :
135155 pane = window .panes .get (pane_id = current_pane .pane_id ) # NOQA: F841
0 commit comments