ó
    Ñ]jX  ã                   ó<   • S r SSKrSSKJr  SSKJr   " S S5      rg)z>String dispatch class to match regexps and dispatch commands.
é    N)ÚCommandChainDispatcher)ÚCallablec                   óZ   • \ rS rSrSrS rSS\S\S\4S jjr	SS jr
S	 rS
 rS rS rSrg)ÚStrDispatché   zû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                 ó    • 0 U l         0 U l        g )N©ÚstrsÚregexs©Úselfs    ÚV/home/mande/repo/quber/.venv/lib/python3.13/site-packages/IPython/utils/strdispatch.pyÚ__init__ÚStrDispatch.__init__   s   € ØˆŒ	Øˆ�ó    ÚsÚobjÚpriorityc                 óŠ   • U R                   R                  U[        5       5      nUR                  X#5        X@R                   U'   g)z'Adds a target 'string' for dispatching N)r
   Úgetr   Úadd)r   r   r   r   Úchains        r   Úadd_sÚStrDispatch.add_s   s3   € ð —	‘	—‘˜aÔ!7Ó!9Ó:ˆØ�	‰	�#ÔØ�	‰	�!Šr   c                 óŠ   • U R                   R                  U[        5       5      nUR                  X#5        X@R                   U'   g)z%Adds a target regexp for dispatching N)r   r   r   r   )r   Úregexr   r   r   s        r   Úadd_reÚStrDispatch.add_re$   s4   € ð —‘—‘ Ô'=Ó'?Ó@ˆØ�	‰	�#ÔØ"�‰�EÒr   c              #   óÔ   #   • XR                   ;   a  U R                   U   v •  U R                  R                  5        H&  u  p#[        R                  " X!5      (       a  Uv •  M&  M(     g7f)z1Get a seq of Commandchain objects that match key N)r
   r   ÚitemsÚreÚmatch)r   ÚkeyÚrr   s       r   ÚdispatchÚStrDispatch.dispatch+   sO   é € à—)‘)ÓØ—)‘)˜C‘.Ò à—k‘k×'Ñ'Ö)‰FˆAÜ�xŠx˜×ÑØ”	ñ ò *ùs   ‚A&A(c                 ó@   • SU R                   < SU R                  < S3$ )Nz<Strdispatch z, Ú>r	   r   s    r   Ú__repr__ÚStrDispatch.__repr__7   s   � Ø)-¯¬°D·K´KÐ@Ð@r   c              #   óf   #   • XR                   ;  a  g U R                   U    H
  nUS   v •  M     g 7f)Né   )r
   )r   r#   Úels      r   Ú	s_matchesÚStrDispatch.s_matches:   s-   é € Ø—i‘iÓØØ—)‘)˜C”.ˆBØ�Q‘%ŒKò !ùs   ‚/1c              #   ó\   #   • U R                  U5       H  nU H
  nUS   v •  M     M     g7f)z,Yield all 'value' targets, without priority r,   N)r%   )r   r#   Úvalr-   s       r   Úflat_matchesÚStrDispatch.flat_matches@   s0   é € à—=‘= Ö%ˆCÛ�Ø˜‘e”ó ñ &ð 	ùs   ‚*,)r   r
   N)r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Ústrr   Úintr   r   r%   r)   r.   r2   Ú__static_attributes__© r   r   r   r      s@   † ñ
òñ�sð  ð °Sõ ô#ò
òAòõr   r   )r8   r!   ÚIPython.core.hooksr   Útypingr   r   r<   r   r   Ú<module>r?      s!   ðñó 
õ 6Ý ÷9ò 9r   