@@ -6,6 +6,7 @@ use djls_workspace::FileKind;
66use tokio:: sync:: RwLock ;
77use tower_lsp_server:: jsonrpc:: Result as LspResult ;
88use tower_lsp_server:: lsp_types;
9+ use tower_lsp_server:: Client ;
910use tower_lsp_server:: LanguageServer ;
1011use tracing_appender:: non_blocking:: WorkerGuard ;
1112
@@ -16,15 +17,18 @@ const SERVER_NAME: &str = "Django Language Server";
1617const SERVER_VERSION : & str = "0.1.0" ;
1718
1819pub struct DjangoLanguageServer {
20+ #[ allow( dead_code) ] // will be needed when diagnostics and other features are added
21+ client : Client ,
1922 session : Arc < RwLock < Option < Session > > > ,
2023 queue : Queue ,
2124 _log_guard : WorkerGuard ,
2225}
2326
2427impl DjangoLanguageServer {
2528 #[ must_use]
26- pub fn new ( log_guard : WorkerGuard ) -> Self {
29+ pub fn new ( client : Client , log_guard : WorkerGuard ) -> Self {
2730 Self {
31+ client,
2832 session : Arc :: new ( RwLock :: new ( None ) ) ,
2933 queue : Queue :: new ( ) ,
3034 _log_guard : log_guard,
@@ -131,7 +135,7 @@ impl LanguageServer for DjangoLanguageServer {
131135 async fn initialized ( & self , _params : lsp_types:: InitializedParams ) {
132136 tracing:: info!( "Server received initialized notification." ) ;
133137
134- self . with_session_task ( |session_arc| async move {
138+ self . with_session_task ( move |session_arc| async move {
135139 let project_path_and_venv = {
136140 let session_lock = session_arc. read ( ) . await ;
137141 match & * session_lock {
0 commit comments