7
7
import logging
8
8
import os
9
9
import shlex
10
+ import typing as t
10
11
11
12
from . import exc , formats
12
- from .common import TmuxMappingObject , TmuxRelationalObject , handle_option_error
13
+ from .common import (
14
+ PaneDict ,
15
+ TmuxMappingObject ,
16
+ TmuxRelationalObject ,
17
+ handle_option_error ,
18
+ )
13
19
from .pane import Pane
14
20
15
21
logger = logging .getLogger (__name__ )
@@ -270,7 +276,7 @@ def show_window_option(self, option, g=False):
270
276
271
277
return option [1 ]
272
278
273
- def rename_window (self , new_name ) :
279
+ def rename_window (self , new_name : str ) -> "Window" :
274
280
"""
275
281
Return :class:`Window` object ``$ tmux rename-window <new_name>``.
276
282
@@ -335,7 +341,7 @@ def move_window(self, destination="", session=None):
335
341
336
342
self .server ._update_windows ()
337
343
338
- def select_window (self ):
344
+ def select_window (self ) -> "Window" :
339
345
"""
340
346
Select window. Return ``self``.
341
347
@@ -349,7 +355,7 @@ def select_window(self):
349
355
"""
350
356
return self .session .select_window (self .index )
351
357
352
- def select_pane (self , target_pane ) :
358
+ def select_pane (self , target_pane : str ) -> Pane :
353
359
"""
354
360
Return selected :class:`Pane` through ``$ tmux select-pane``.
355
361
@@ -373,7 +379,7 @@ def select_pane(self, target_pane):
373
379
374
380
return self .attached_pane
375
381
376
- def last_pane (self ):
382
+ def last_pane (self ) -> Pane :
377
383
"""Return last pane."""
378
384
return self .select_pane ("-l" )
379
385
@@ -385,7 +391,7 @@ def split_window(
385
391
vertical = True ,
386
392
shell = None ,
387
393
percent = None ,
388
- ):
394
+ ) -> Pane :
389
395
"""
390
396
Split window and return the created :class:`Pane`.
391
397
@@ -486,7 +492,7 @@ def split_window(
486
492
return Pane (window = self , ** pane )
487
493
488
494
@property
489
- def attached_pane (self ):
495
+ def attached_pane (self ) -> Pane :
490
496
"""
491
497
Return the attached :class:`Pane`.
492
498
@@ -504,20 +510,20 @@ def attached_pane(self):
504
510
505
511
return []
506
512
507
- def _list_panes (self ):
513
+ def _list_panes (self ) -> t . List [ PaneDict ] :
508
514
panes = self .server ._update_panes ()._panes
509
515
510
516
panes = [p for p in panes if p ["session_id" ] == self .get ("session_id" )]
511
517
panes = [p for p in panes if p ["window_id" ] == self .id ]
512
518
return panes
513
519
514
520
@property
515
- def _panes (self ):
521
+ def _panes (self ) -> t . List [ PaneDict ] :
516
522
"""Property / alias to return :meth:`~._list_panes`."""
517
523
518
524
return self ._list_panes ()
519
525
520
- def list_panes (self ):
526
+ def list_panes (self ) -> t . List [ Pane ] :
521
527
"""
522
528
Return list of :class:`Pane` for the window.
523
529
@@ -529,7 +535,7 @@ def list_panes(self):
529
535
return [Pane (window = self , ** pane ) for pane in self ._panes ]
530
536
531
537
@property
532
- def panes (self ):
538
+ def panes (self ) -> t . List [ Pane ] :
533
539
"""Property / alias to return :meth:`~.list_panes`."""
534
540
return self .list_panes ()
535
541
0 commit comments