
    Xh                     `    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lmZ d	 Zd
 Zy)zI add language server support to the running jupyter notebook application
    N)Path)ioloop   )add_handlers)LanguageServerManager)normalized_uric           	        K   ddl }ddlm} | j                  }|j                  j                         5 }| j                  j                  ||j                         d{    ddd       |j                  j                         D cg c]  \  }}|j                  dd      r| }}}t        |      r&| j                  j                  d|        ||       n| j                  j                  d	       | j                  j                  d
j                  t!        j"                  |j                  dd                   y7 # 1 sw Y   xY wc c}}w w)zPerform lazy initialization.r   Nr   )setup_shadow_filesystemrequires_documents_on_diskTz:[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: {}   )indent	sort_keys)concurrent.futuresvirtual_documents_shadowr
   language_server_managerfuturesThreadPoolExecutorio_looprun_in_executor
initializelanguage_serversitemsgetanylogdebugformatjsondumps)	nbappr   
concurrentr
   managerpool	server_idserverservers_requiring_disk_accesss	            O/var/www/html/myenv/lib/python3.12/site-packages/jupyter_lsp/serverextension.pyr   r      s(    A%*%B%BG				.	.	0 FDmm++D'2D2DEEEF
 ")!9!9!?!?!A%Iv::2D9 	%! % ()		H)	
 	 6KL		,	

 
IIOODKKJJw//TJ	
) 	FF F%s;   1E*ED?E"%EE%BE?EE
Ec                    | j                  t        j                  t                     t        |       x}| _        | j
                  }| j                  j                  j                  di       }d}d}t        |d      rt        |j                        }| j                  j                  d|       t        |j                        }||j                  z  }||k(  r1| j                  j!                  d       d|_        ||j                  z  }t        |      }| j                  j                  d	|       n'| j                  j!                  d
|       t        d      }|j#                  ||       t%        |        t        | d      r| j&                  }nt(        j*                  j-                         }|j/                  dt0        | |       y)z/create a LanguageServerManager and add handlers)r   )parentpage_config_data root_dirz[lsp] rootUri will be %sz5virtual documents path must differ from the root pathz.virtual_documentsz$[lsp] virtualDocumentsUri will be %szA[lsp] %s did not appear to have a root_dir, could not set rootUri)rootUrivirtualDocumentsUrir   r   N)
add_traits	traitletsInstancer   r   contents_managerweb_appsettings
setdefaulthasattrr   r-   r   r   r   virtual_documents_dirwarnupdater   r   r   IOLoopcurrent
call_laterr   )	r!   r#   contentspage_configroot_urir   	root_pathvirtual_documents_pathr   s	            r(   load_jupyter_server_extensionrC   3   s   	Y-?-?@U-VW.C5.QQGe+%%H--((334FKKH x$!("3"34		2H=**+	!*W-J-J!J!Y.IINNRS,@G)%.1N1N%N" ./E F		>@UV		O	
 !//C Dx=RSui -- --'')q*e-BC    )__doc__r   pathlibr   r1   tornador   handlersr   r#   r   pathsr   r   rC    rD   r(   <module>rK      s-        " * !!H'DrD   