ctx-tui 2.0.4

Manage repo-scoped work contexts: fresh checkouts wrapped in terminal multiplexer sessions
Documentation
�

"�j��d�%SSKJr SSKJr SSKJr SSKJr SSKJ	r	 "SS\
5r"SS	\5r\"S
S9"SS
55r
\"S
S9"SS55r\
\-r\
"5r\\S'S\\\4S\4SjrS\\\4S\4SjrS\S\4SjrS\S\\4SjrS\S\\\4S-S\4Sjrg)�)�Mapping)�	dataclass)�StrEnum)�Any)�builtinsc��\rSrSrSrg)�LayoutError�	�N)�__name__�
__module__�__qualname__�__firstlineno__�__static_attributes__r��D/Users/michael/dev/contexts/ctx/rewrite-it-in-rust/src/ctx/layout.pyr	r		s��rr	c��\rSrSrSrSrSrg)�SplitDirection�
�row�columnrN)rr
rr�ROW�COLUMNrrrrrr
s��
�C�
�FrrT)�frozenc�`�\rSrSr%Sr\S-\S'Sr\S-\S'Sr\S-\S'Sr	\
\S'Srg)	�Pane�N�command�builtin�argsF�focusr)rr
rrr�str�__annotations__rr r!�boolrrrrrrs6���G�S�4�Z���G�S�4�Z���D�#��*���E�4�rrc�0�\rSrSr%\\S'\S\S'Srg)�Split��	direction)�Node.�panesrN)rr
rrrr#�tuplerrrrr&r&s�������rr&�DEFAULT_LAYOUT�data�returnc�P�[U5n[U5S:�a[S5eU$)N�zat most one pane may set focus)�_parse_node�_count_focusr	)r-�nodes  r�parse_layoutr4%s*���t��D��D��A���:�;�;��Krc�6�SU;a�UR5SS1-
nU(a&[SSR[U5535e[	[US55nURS5n[U[5(aU(d[S5e[U[S	U555$UR51S
k-
nU(a&[SSR[U5535eSU;aS
U;a[S5eS
U;aKUS
[R;a4SR[R5n[SUS
SUS35eSU;aS
U;a[S5e[SU;a[US5OSS
U;a[US
5OSSU;a[US5OS[URSS55S9$![a7nSRS[55n[SUSUS<35UeSnAff=f)N�splitr*zunknown split key(s): z, c3�8# �UHoRv� M g7f�N)�value)�.0�ds  r�	<genexpr>�_parse_node.<locals>.<genexpr>4s���>�~�!�g�g�~���zsplit must be one of z, got z&a split needs a non-empty 'panes' listc3�8# �UHn[U5v� M g7fr8)r1�r:�panes  rr<r=9s���%J�E�D�k�$�&7�&7�E�r>>r r!rrzunknown pane key(s): rrz4a pane takes either a command or a builtin, not bothzunknown pane builtin 'z' (supported: �)r zpane args require a builtinr!F)rrr r!)�keysr	�join�sortedrr"�
ValueError�get�
isinstance�listr&r+r�
PANE_BUILTINSrr$)r-�unknownr(�exc�validr*s      rr1r1,s����$���)�)�+��'� 2�2���� 6�t�y�y����7Q�6R�S�T�T�	_�&�s�4��=�'9�:�I�����!���%��&�&�e��F�G�G��Y��%J�E�%J� J�K�K��i�i�k�C�C�G���1�$�)�)�F�7�O�2L�1M�N�O�O��D��Y�$�.��P�Q�Q��D��T�)�_�H�4J�4J�J��	�	�(�0�0�1���2�4�	�?�2C�>�RW�QX�XY�Z�[�[�
��~�)�4�/��7�8�8��(1�T�(9��D��O�$�t�(1�T�(9��D��O�$�t�"(�D�.�S��f��
�d��4�8�8�G�U�+�,�	���#�	_��I�I�>�~�>�>�E�� 5�e�W�F�4��=�BS�T�U�[^�^��	_�s�
G�
H�!2H�Hr3c��[U[5(a[UR5$[	SUR
55$)Nc3�8# �UHn[U5v� M g7fr8)r2r@s  rr<�_count_focus.<locals>.<genexpr>Os���9�j�d�|�D�!�!�j�r>)rHr�intr!�sumr*�r3s rr2r2Ls2���$�����4�:�:����9�d�j�j�9�9�9rc���[U[5(a;[RR	UR
=(d S[
55$[
5R"SUR56$)z@All creation-time value keys the layout's builtin panes consume.�c3�8# �UHn[U5v� M g7fr8)�
accepted_keysr@s  rr<� accepted_keys.<locals>.<genexpr>Vs���J�z�t�}�T�2�2�z�r>)	rHrr�BUILTIN_KEYSrGr�	frozenset�unionr*rSs rrWrWRsP���$�����$�$�(�(����);��Y�[�I�I��;���J�t�z�z�J�K�Kr�valuesNc�0^�[U[5(aNURcU$[R"URUR
T5n[X RS9$[UR[U4SjUR555$)z�Concretise builtin panes into command panes.

`values` carries creation-time key=value data for the builtins; None
means the session is being recreated for an existing context.
)r!c3�<># �UHn[UT5v� M g7fr8)�resolve_layout)r:rAr\s  �rr<�!resolve_layout.<locals>.<genexpr>ds����&[�PZ��~�d�F�'C�'C�PZ�s�)rHrrr�builtin_commandr r!r&r(r+r*)r3r\rs ` rr_r_Yso����$�����<�<���K��*�*�4�<�<����F�K���G�:�:�.�.������&[�PT�PZ�PZ�&[�![�\�\r)�collections.abcr�dataclassesr�enumr�typingr�ctxr�	Exceptionr	rrr&r)r,r#�dictr"r4r1rQr2rZrWr_rrr�<module>ris��#�!����	�)�	��W��
�$�������$������
�e�|���v�����t�C��H�~��$���d�3��8�n����@:�t�:��:�L��L��3��L�]��]�w�s�C�x�'8�4�'?�]�D�]r