
    Mh                     @    d dl mZ  G d d          Z e            ZdS )    )wrapsc                   (    e Zd Zd Zd ZddZd ZdS )_PluginManagerc                 0    g | _         i | _        i | _        d S N)_registered_plugins_cached_base_callbacks_built_functions)selfs    U/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/jedi/plugins/__init__.py__init__z_PluginManager.__init__   s     #% &(# "    c                 b    | j                             |           |                                  dS )z<
        Makes it possible to register your plugin.
        N)r   extend_build_functions)r   pluginss     r   registerz_PluginManager.register
   s3     	 ''000r   Nc                       fd}|S )Nc                     t          |           fd            }p| j        j        vsJ j        | <   | j        <   |S )Nc                                 | i |S r    )argskwargsbuilt_functionspublic_names     r   wrapperz;_PluginManager.decorate.<locals>.decorator.<locals>.wrapper   s    3{3TDVDDDr   )r   __name__r
   r	   )callbackr   r   r   namer   s     @@r   	decoratorz*_PluginManager.decorate.<locals>.decorator   s    8__E E E E E _E 3("3Kd&;;;;;"3O+3OK(7?D'4Nr   r   )r   r   r    s   `` r   decoratez_PluginManager.decorate   s*    	 	 	 	 	 	 r   c                     | j                                         D ]R\  }}t          | j                  D ].}	 t	          ||          } ||          }# t
          $ r Y +w xY w|| j        |<   Sd S r   )r	   itemsreversedr   getattrAttributeErrorr
   )r   r   r   pluginfuncs        r   r   z_PluginManager._build_functions"   s    "9??AA 		3 		3ND("4#;<< . .."6400D  $tH~~HH &   D +3D!$''		3 		3s   A
AAr   )r   
__module____qualname__r   r   r!   r   r   r   r   r   r      sU        # # #
        "
3 
3 
3 
3 
3r   r   N)	functoolsr   r   plugin_managerr   r   r   <module>r-      sS         (3 (3 (3 (3 (3 (3 (3 (3V  !!r   