
    ^h                     2    S SK Jr   " S S5      r\" 5       rg)    )wrapsc                   0    \ rS rSrS rS rSS jrS rSrg)	_PluginManager   c                 .    / U l         0 U l        0 U l        g N)_registered_plugins_cached_base_callbacks_built_functions)selfs    O/home/james-whalen/.local/lib/python3.13/site-packages/jedi/plugins/__init__.py__init___PluginManager.__init__   s    #% &(# "    c                 Z    U R                   R                  U5        U R                  5         g)z,
Makes it possible to register your plugin.
N)r	   extend_build_functions)r   pluginss     r   register_PluginManager.register
   s$     	  ''0r   Nc                    ^ ^ UU 4S jnU$ )Nc                    >^^ [        U 5      UU4S j5       nT=(       d    U R                  mTTR                  ;  d   eTR                  mU TT'   U TR                  T'   U$ )Nc                     > TT   " U 0 UD6$ r    )argskwargsbuilt_functionspublic_names     r   wrapper;_PluginManager.decorate.<locals>.decorator.<locals>.wrapper   s    &{3TDVDDr   )r   __name__r   r
   )callbackr   r   r   namer   s     @@r   	decorator*_PluginManager.decorate.<locals>.decorator   sk    8_E E 3("3"3Kd&;&;;;;"33O+3OK(7?D''4Nr   r   )r   r#   r$   s   `` r   decorate_PluginManager.decorate   s    	 r   c                     U R                   R                  5        HC  u  p[        U R                  5       H  n [	        X15      nU" U5      nM     X R                  U'   ME     g ! [
         a     M;  f = fr   )r
   itemsreversedr	   getattrAttributeErrorr   )r   r#   r"   pluginfuncs        r   r   _PluginManager._build_functions"   sq    "99??AND"4#;#;<."60D  $H~H = +3!!$' B
 & s   A##
A10A1)r   r
   r	   r   )	r!   
__module____qualname____firstlineno__r   r   r&   r   __static_attributes__r   r   r   r   r      s    #
 "
3r   r   N)	functoolsr   r   plugin_managerr   r   r   <module>r6      s    (3 (3V  !r   