ó
    Ñ]j  ã                   ó€   • S r SSKrSSKJr  SSKJrJrJr  SSKJ	r	  \R                  " S5      r\ " S S\5      5       rg)	z9Implementation of configuration-related magic functions.
é    N)Ú
UsageError)ÚMagicsÚmagics_classÚ
line_magic)Úerrorz
^\w+\.\w+$c                   ó8   ^ • \ rS rSrU 4S jr\S 5       rSrU =r$ )ÚConfigMagicsé   c                 ó:   >• [         [        U ]  U5        / U l        g ©N)Úsuperr	   Ú__init__Úconfigurables)ÚselfÚshellÚ	__class__s     €ÚW/home/mande/repo/quber/.venv/lib/python3.13/site-packages/IPython/core/magics/config.pyr   ÚConfigMagics.__init__   s   ø€ ÜŒl˜DÑ*¨5Ô1ØˆÕó    c                 ó”  • SSK Jn  [        [        U R                  R
                   Vs/ s H%  nUR                  R                  SS9(       d  M#  UPM'     sn5      S S9nU Vs/ s H  o3R                  R                  PM     nnUR                  5       nU(       d!  [        S5        U H  n[        SU5        M     g	Xe;   aw  XER                  U5         nUR                  nUR                  U5      n	[        R                  " [        R                  " S
[        R                   5      SU	5      n	[        U	5        g	["        R%                  U5      (       a0  UR'                  S5      u  pŠ[)        XER                  U5         U
5      $ SU;  aE  SnUR+                  5       nU H   nXÍR+                  5       :X  d  M  USU-  -   n  O   [-        X¶-  5      eU" 5       n[/        SU-   U R                  R0                  [3        5       5        U H  n UR5                  U5        M     g	s  snf s  snf ! [6         a  n[9        U5         S	nAM?  S	nAff = f)aÆ  configure IPython

    %config Class[.trait=value]

This magic exposes most of the IPython config system. Any
Configurable class should be able to be configured with the simple
line::

    %config Class.trait=value

Where `value` will be resolved in the user's namespace, if it is an
expression or variable name.

Examples
--------

To see what classes are available for config, pass no arguments::

    In [1]: %config
    Available objects for config:
        AliasManager
        DisplayFormatter
        HistoryManager
        IPCompleter
        LoggingMagics
        MagicsManager
        OSMagics
        PrefilterManager
        ScriptMagics
        TerminalInteractiveShell

To view what is configurable on a given class, just pass the class
name::

    In [2]: %config LoggingMagics
    LoggingMagics(Magics) options
    ---------------------------
    LoggingMagics.quiet=<Bool>
        Suppress output of log state when logging is enabled
        Current: False

but the real use is in setting values::

    In [3]: %config LoggingMagics.quiet = True

and these values are read from the user_ns if they are variables::

    In [4]: feeling_quiet=False

    In [5]: %config LoggingMagics.quiet = feeling_quiet

r   )ÚConfigT)Úconfigc                 ó.   • U R                   R                  $ r   )r   Ú__name__)Úxs    r   Ú<lambda>Ú%ConfigMagics.config.<locals>.<lambda>_   s   € °q·{±{×7KÒ7Kr   )ÚkeyzAvailable objects for config:z   Nz^--Ú Ú.Ú=z>Invalid config statement: %r, should be `Class.trait = value`.z!
Did you mean %s (note the case)?zcfg.)Útraitlets.config.loaderr   ÚsortedÚsetr   r   r   Úclass_traitsr   ÚstripÚprintÚindexÚclass_get_helpÚreÚsubÚcompileÚ	MULTILINEÚregÚmatchÚsplitÚgetattrÚlowerr   ÚexecÚuser_nsÚlocalsÚupdate_configÚ	Exceptionr   )r   Úsr   Úcr   Ú
classnamesÚlineÚnameÚclsÚhelpÚattrÚmsgÚllÚ	classnameÚcfgÚconfigurableÚes                    r   r   ÚConfigMagics.config#   sù  € õl 	3ô œs°·
±
×0HÒ0Hó $'Ò0H¨1Ø()¯©×(@Ñ(@ÈÐ(@Ô(M÷ &'Ñ0Hñ $'ó  (á-KñMˆñ 6CÓD²]°—{‘{×+Ô+±]ˆ
ÐDà�w‰w‹yˆÞäÐ1Ô2Û"�Ü�e˜TÖ"ñ #àØÓð ×.Ñ.¨tÓ4Ñ5ˆAØ—+‘+ˆCØ×%Ñ% aÓ(ˆDä—6’6œ"Ÿ*š* V¬R¯\©\Ó:¸BÀÓEˆDÜ�$ŒKØÜ�Y‰Y�t�_‰_ØŸ
™
 3›‰IˆCÜ˜=×)9Ñ)9¸#Ó)>Ñ?ÀÓEÐEØ˜‹_ð5ˆCð —‘“ˆBÛ'�	ØŸ™Ó*Õ*ØÐ DÀyÑ PÑP�CÙñ (ô
 ˜c™jÓ)Ð)ñ
 ‹hˆÜˆV�D‰[˜$Ÿ*™*×,Ñ,¬f«hÔ7ã)ˆLðØ×*Ñ*¨3Ö/ò *ùòW$'ùò EøôV ó Ü�a—’ûðús)   ©"HÁHÁ$H"ÈH'È'
IÈ1IÉI)r   )	r   Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   Ú__static_attributes__Ú__classcell__)r   s   @r   r	   r	      s   ø† õ ð ñhó öhr   r	   )Ú__doc__r*   ÚIPython.core.errorr   ÚIPython.core.magicr   r   r   Úloggingr   r,   r.   r	   © r   r   Ú<module>rQ      sI   ðñó 
õ *ß ?Ñ ?Ý ð 	‡j‚j�Ó€Øôo�6ó oó ñor   