+
    ^|i(                     2    R t ^ RIt^ RIHt  ! R R4      tR# )z>String dispatch class to match regexps and dispatch commands.
N)CommandChainDispatcherc                   V   a  ] tR t^t o RtR tRR ltRR ltR tR t	R t
R tR	tV tR
# )StrDispatchzDispatch (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                "    / V n         / V n        R # Nstrsregexsselfs   &;/usr/lib/python3/dist-packages/IPython/utils/strdispatch.py__init__StrDispatch.__init__   s    	    c                    V P                   P                  V\        4       4      pVP                  W#4       W@P                   V&   R# )z'Adds a target 'string' for dispatching N)r   getr   add)r   sobjprioritychains   &&&& r   add_sStrDispatch.add_s   s3     		a!7!9:		#		!r   c                    V P                   P                  V\        4       4      pVP                  W#4       W@P                   V&   R# )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              #     "   WP                   9   d   V P                   V,          x  V P                  P                  4        F'  w  r#\        P                  ! W!4      '       d   Vx  K'  K)  	  R# 5i)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. kk'')FAxx	  *s   A-A/c                @    R V P                   : RV P                  : R2# )z<Strdispatch z, >r   r
   s   &r   __repr__StrDispatch.__repr__6   s    )-DKK@@r   c              #  |   "   WP                   9  d   R # V P                   V,           F  pV^,          x  K  	  R # 5ir   )r   )r   r!   els   && r   	s_matchesStrDispatch.s_matches9   s/     ii))C..BQ%K !s   :<c              #  f   "   V P                  V4       F  pV F  pV^,          x  K  	  K  	  R# 5i)z,Yield all 'value' targets, without priority N)r#   )r   r!   valr*   s   &&  r   flat_matchesStrDispatch.flat_matches?   s0     ==%Ce  & 	s   /1)r	   r   N)    )__name__
__module____qualname____firstlineno____doc__r   r   r   r#   r'   r+   r/   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s3     
#
A r   r   )r6   r   IPython.core.hooksr   r    r   r   <module>r<      s    
 69 9r   