}BFjXDdZddlZddlmZddlmZGddZdS)z>String dispatch class to match regexps and dispatch commands. N)CommandChainDispatcher)CallablecNeZdZdZdZddededefdZddZ d Z d Z d Z d Z d S) StrDispatchaDispatch (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|_dS)Nstrsregexsselfs GC:\PYTHON\_runtimes\venv\Lib\site-packages\IPython/utils/strdispatch.py__init__zStrDispatch.__init__s  rsobjpriorityc|j|t}|||||j|<dS)z( Adds a target 'string' for dispatching N)r getradd)r rrrchains r add_szStrDispatch.add_ssC a!7!9!9:: #h ! rc|j|t}|||||j|<dS)z& Adds a target regexp for dispatching N)r rrr)r regexrrrs r add_rezStrDispatch.add_re$sF '='?'?@@ #h" Erc#K||jvr|j|V|jD]\}}tj||r|V dS)z2 Get a seq of Commandchain objects that match key N)r r itemsrematch)r keyrrs r dispatchzStrDispatch.dispatch+st $)  )C. k''))  FAsx3     rc(d|jd|jdS)Nz rr s r __repr__zStrDispatch.__repr__7s)-DKKK@@rc#TK||jvrdS|j|D] }|dV dS)N)r )r rels r s_matcheszStrDispatch.s_matches:sF di   V)C.  BQ%KKKK  rc#XK||D]}|D] }|dV dS)z- Yield all 'value' targets, without priority r&N)r!)r rvalr's r flat_matcheszStrDispatch.flat_matches@sI==%%  C  e  rN)r)__name__ __module__ __qualname____doc__rstrrintrrr!r$r(r+rr rr s  sS####   AAA rr)r/rIPython.core.hooksrtypingrrr2rr r5sr 6555559999999999r