o
    i|
                     @   sX   d Z ddlZddlmZ ddlZddlmZ ddlmZ ddl	m
Z
 dd	 Zd
d ZdS )zI add language server support to the running jupyter notebook application
    N)Path   )add_handlers)LanguageServerManager)normalized_uric              	      s   ddl }ddlm} | j}|j }| j||jI dH  W d   n1 s)w   Y  dd |j	
 D }t|rI| jd| ||d n| jd	 | jd
tj|j	ddd dS )zPerform lazy initialization.r   Nr   )setup_shadow_filesystemc                 S   s    g | ]\}}| d dr|qS )requires_documents_on_diskT)get).0	server_idserver r   V/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/jupyter_lsp/serverextension.py
<listcomp>   s    
zinitialize.<locals>.<listcomp>z:[lsp] Servers that requested virtual documents on disk: %s)virtual_documents_urizZ[lsp] None of the installed servers require virtual documents disabling shadow filesystem.z:[lsp] The following Language Servers will be available: {}   T)indent	sort_keys)concurrent.futuresvirtual_documents_shadowr   language_server_managerfuturesThreadPoolExecutorio_looprun_in_executor
initializelanguage_serversitemsanylogdebugformatjsondumps)nbappr   
concurrentr   managerpoolservers_requiring_disk_accessr   r   r   r      s0   r   c                 C   s   | j ttd t| d }| _| j}| jjdi }d}d}t	|drCt
|j}| jd| t
t|j|j }| jd| n| jd| |j||d	 t|  | jd
t| | dS )z/create a LanguageServerManager and add handlers)r   )parentpage_config_data root_dirz[lsp] rootUri will be %sz$[lsp] virtualDocumentsUri will be %szA[lsp] %s did not appear to have a root_dir, could not set rootUri)rootUrivirtualDocumentsUrir   N)
add_traits	traitletsInstancer   r   contents_managerweb_appsettings
setdefaulthasattrr   r,   r   r    r   virtual_documents_dirwarnupdater   r   
call_laterr   )r$   r&   contentspage_configroot_urir   r   r   r   load_jupyter_server_extension1   s(   

r>   )__doc__r"   pathlibr   r0   handlersr   r&   r   pathsr   r   r>   r   r   r   r   <module>   s    $