ctx-tui 2.0.4

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

"�j���SSKrSSKrSSKrSSKJrJrJr SSKJr SSK	J
r
JrJr SSK
Jr S\S\S\4S	jr\"S
\"S55S-S
-r\"S\"S5S-5S-r"SS\5rSr\"SS9"SS55r\"SS9"SS55r\"SS9"SS55r\4S\S\4Sjjr\R4"S5rS\S\4S jrS\S\\S!44S"jrg)#�N)�	dataclass�fields�replace)�Path)�DEFAULT_LAYOUT�Node�parse_layout)�MultiplexerKind�variable�fallback�returnc��[RRUS5nU(a[U5$[R"5U-$)N�)�os�environ�getr�home)rr�values   �D/Users/michael/dev/contexts/ctx/rewrite-it-in-rust/src/ctx/config.py�_xdg_dirrs2���J�J�N�N�8�R�(�E��4��;�;�T�Y�Y�[�8�%;�;��XDG_CONFIG_HOMEz.config�ctxzconfig.toml�
XDG_DATA_HOMEz.local�sharec��\rSrSrSrg)�ConfigError��N)�__name__�
__module__�__qualname__�__firstlineno__�__static_attributes__rrrrrs��rr)�agent�githubT)�frozenc�`�\rSrSr%Sr\\S'Sr\S-\S'Sr\S-\S'Sr	\
S-\S'Srg)	�StatusColumn�z�A named status column in listings, filled by a command or a built-in.

`interval` is the column's sampling period in seconds; None picks the
provider's default.
�nameN�command�builtin�intervalr)r r!r"r#�__doc__�str�__annotations__r,r-r.�floatr$rrrr)r)s8����I��G�S�4�Z���G�S�4�Z��!�H�e�d�l�!rr)c�R�\rSrSr%SrSr\\S'Sr\\S'Sr	\\S'Sr
\\S'S	rg
)�Theme�)z?TUI colours; the defaults stick to the terminal's ANSI palette.�ansi_default�
foreground�	ansi_blue�	selection�
border_active�border_inactiverN)r r!r"r#r/r7r0r1r9r:r;r$rrrr4r4)s-��I�$�J��$� �I�s� �$�M�3�$�)�O�S�)rr4c���\rSrSr%\S-r\\S'\S-r\\S'\S-r	\\S'Sr
\\S	'\Rr\\S
'Sr\\S'\r\\S
'Sr\\S4\S'\"5r\\S'Srg)�Config�3�contexts�contexts_dir�repos�	repos_dir�archive�archive_dirr�
branch_prefix�multiplexerT�	nerd_font�layoutr.�status�themeN)r r!r"r#�	_DATA_DIRr@rr1rBrDrEr0r
�TMUXrFrG�boolrrHrrI�tupler)r4rJr$rrrr=r=3s}��"�Z�/�L�$�/��'�)�I�t�)�!�I�-�K��-��M�3��#2�#7�#7�K��7��I�t��!�F�D�!�')�F�E�,��#�$�)��7�E�5�rr=�pathc��UR5(d
[5$[R"UR	55n[5nSU;a$[U[
US5R5S9nSU;a$[U[
US5R5S9nSU;a$[U[
US5R5S9nSU;a[U[US5S9nS	U;a#[US	5n[U5n[X$S9nSU;a/[US[5(d[S5e[X!SS9nSU;a[U[US5S9nSU;a[U[!US5S9nSU;a[U[#US5S9nU$![a4nS
RS[55n[SUS
US35UeSnAff=f)Nr@)r@rB)rBrD)rDrE)rErF�, c3�8# �UHoRv� M g7f)N)r)�.0�ks  r�	<genexpr>�load_config.<locals>.<genexpr>Rs���?��!�g�g��s�zunknown multiplexer '�' (supported: �))rFrGznerd_font must be a boolean)rGrH)rHrI)rIrJ)rJ)�existsr=�tomllib�loads�	read_textrr�
expanduserr0r
�
ValueError�joinr�
isinstancerMr	�
_parse_status�_parse_theme)rO�data�cfg�raw�kind�exc�valids       r�load_configri@s����;�;�=�=��x���=�=����)�*�D�
�(�C�����c��T�.�-A�(B�(M�(M�(O�P���d���c�T�$�{�*;�%<�%G�%G�%I�J������c�t�D��,?�'@�'K�'K�'M�N���$���c��T�/�-B�)C�D������$�}�%�&��	\�"�3�'�D��c�,���d���$�{�+�T�2�2��;�<�<��c�+�%6�7���4���c�,�t�H�~�">�?���4���c�-��X��"?�@���$���c��d�7�m�!<�=���J���	\��I�I�?��?�?�E�� 5�c�U�.���q�Q�R�X[�[��	\�s�=F�
G�&/G�Gz^#[0-9a-fA-F]{6}$rcc���[U[5(d[S5e[[5Vs1sHoR
iM nnUR
5U-
nU(a&[SSR[U5535eUR5HCupE[U[5(a[RU5(aM6[SUS35e [	S0UD6$s snf)Nztheme must be a tablezunknown theme key(s): rQztheme z$ must be a hex colour like '#2d3f76'r)
r`�dictrrr4r+�keysr_�sorted�itemsr0�	_COLOR_RE�match)rc�f�known�unknown�keyrs      rrbrbfs����d�D�!�!��1�2�2�#�E�]�+�]��V�V�]�E�+��i�i�k�E�!�G���2�4�9�9�V�G�_�3M�2N�O�P�P��j�j�l�
���%��%�%�Y�_�_�U�-C�-C���s�e�+O�P�Q�Q�#��=�4�=���
,s�C+.c�d�[U[5(d[S5e/nUGH1n[U[5(aSU;a[S5eSU;SU;:Xa[S5eSU;a7US[;a*SR[5n[SUSS	US
35eUR
S5nUbB[U[5(d"[U[[-5(aUS:a[S
5eUR[[US5SU;a[US5OSSU;a[US5OSUb[U5OSS95 GM4 UVs/sHoURPM nn[[U55[U5:wa[S5e[!U5$s snf)Nz.status must be an array of tables ([[status]])r+zeach [[status]] needs a namer,r-z3each [[status]] needs either a command or a builtinrQzunknown status builtin 'rWrXr.rz8status interval must be a non-negative number of seconds)r,r-r.zstatus names must be unique)r`�listrrk�BUILTIN_STATUSr_rrM�intr2�appendr)r0r+�len�setrN)rc�columns�entryrhr.�c�namess       rrarass����d�D�!�!��J�K�K��G����%��&�&�&��*=��<�=�=����I��$6�7��S�T�T����%�	�"2�.�"H��I�I�n�-�E�� 8��y�9I�8J�.�Y^�X_�_`�a�b�b��9�9�Z�(�����x��&�&�j��3��;�.O�.O�S[�^_�S_��X�Y�Y������E�&�M�"�1:�e�1C��E�)�,�-��1:�e�1C��E�)�,�-��,4�,@��x��d�	
�	
��*%�%�W��V�V�W�E�%�
�3�u�:��#�e�*�$��7�8�8���>���
&s�F-) r�rerZ�dataclassesrrr�pathlibr�
ctx.layoutrrr	�ctx.multiplexerr
r0r�CONFIG_PATHrK�	Exceptionrrwr)r4r=ri�compilero�objectrbrNrarrr�<module>r�s8��	�	��2�2��9�9�+�<�s�<�d�<�t�<�
�(�$�y�/�:�U�B�]�R���_�d�8�n�w�&>�?�%�G�	�	�)�	�%���$��
"�
"��
"��$��*�*��*��$��	�	��	�)��d��V��F
�J�J�+�,�	�
�v�
�%�
����5��s�):�#;�r