Ë
    7;h0  ã                   ó2   — d Z ddlZddlmZ  G d„ de«      Zy)z>String dispatch class to match regexps and dispatch commands.
é    N)ÚCommandChainDispatcherc                   ó>   — e Zd ZdZd„ Zd
d„Zd
d„Zd„ Zd„ Zd„ Z	d„ Z
y	)ÚStrDispatcha  Dispatch (lookup) a set of strings / regexps for match.

    Example:

    >>> dis = StrDispatch()
    >>> dis.add_s('hei',34, priority = 4)
    >>> dis.add_s('hei',123, priority = 2)
    >>> dis.add_re('h.i', 686)
    >>> print(list(dis.flat_matches('hei')))
    [123, 34, 686]
    c                 ó    — i | _         i | _        y )N©ÚstrsÚregexs©Úselfs    új/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/IPython/utils/strdispatch.pyÚ__init__zStrDispatch.__init__   s   € ØˆŒ	Øˆ�ó    c                 óŽ   — | j                   j                  |t        «       «      }|j                  ||«       || j                   |<   y)z( Adds a target 'string' for dispatching N)r   Úgetr   Úadd)r   ÚsÚobjÚpriorityÚchains        r   Úadd_szStrDispatch.add_s   s7   € ð —	‘	—‘˜aÔ!7Ó!9Ó:ˆØ�	‰	�#�hÔØˆ�	‰	�!Šr   c                 óŽ   — | j                   j                  |t        «       «      }|j                  ||«       || j                   |<   y)z& Adds a target regexp for dispatching N)r	   r   r   r   )r   Úregexr   r   r   s        r   Úadd_rezStrDispatch.add_re#   s8   € ð —‘—‘ Ô'=Ó'?Ó@ˆØ�	‰	�#�hÔØ"ˆ�‰�EÒr   c              #   óÄ   K  — || j                   v r| j                   |   –— | j                  j                  «       D ]   \  }}t        j                  ||«      r|–— Œ!Œ" y­w)z2 Get a seq of Commandchain objects that match key N)r   r	   ÚitemsÚreÚmatch)r   ÚkeyÚrr   s       r   ÚdispatchzStrDispatch.dispatch*   sS   è ø€ à�$—)‘)ÑØ—)‘)˜C‘.Ò à—k‘k×'Ñ'Ö)‰FˆAˆsÜ�x‰x˜˜3ÔØ“	ð ñ *ùs   ‚AA c                 ó<   — d| j                   ›d| j                  ›d�S )Nz<Strdispatch z, Ú>r   r
   s    r   Ú__repr__zStrDispatch.__repr__6   s   � Ø)-¯«°D·K³KÐ@Ð@r   c              #   ó`   K  — || j                   vry | j                   |   D ]	  }|d   –— Œ y ­w)Né   )r   )r   r   Úels      r   Ú	s_matcheszStrDispatch.s_matches9   s0   è ø€ Ø�d—i‘iÑØØ—)‘)˜C”.ˆBØ�Q‘%‹Kñ !ùs   ‚,.c              #   óT   K  — | j                  |«      D ]  }|D ]	  }|d   –— Œ Œ y­w)z- Yield all 'value' targets, without priority r%   N)r    )r   r   Úvalr&   s       r   Úflat_matcheszStrDispatch.flat_matches?   s1   è ø€ à—=‘= Ö%ˆCÛ�Ø˜‘e“ñ ð &ð 	ùs   ‚&(N)r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r    r#   r'   r*   © r   r   r   r      s+   „ ñ
òóó#ò
òAòór   r   )r.   r   ÚIPython.core.hooksr   Úobjectr   r/   r   r   Ú<module>r2      s    ðñó 
õ 6ô9�&õ 9r   