@@ -106,7 +106,7 @@ impl LSPServer {
106
106
impl LanguageServer for LSPServer {
107
107
#[ allow( deprecated) ]
108
108
#[ tracing:: instrument(
109
- level = "trace " ,
109
+ level = "info " ,
110
110
skip_all,
111
111
fields(
112
112
root_uri = params. root_uri. as_ref( ) . map( display) ,
@@ -143,7 +143,7 @@ impl LanguageServer for LSPServer {
143
143
Ok ( init)
144
144
}
145
145
146
- #[ tracing:: instrument( level = "trace " , skip ( self ) ) ]
146
+ #[ tracing:: instrument( level = "info " , skip_all ) ]
147
147
async fn initialized ( & self , params : InitializedParams ) {
148
148
let _ = params;
149
149
@@ -163,11 +163,12 @@ impl LanguageServer for LSPServer {
163
163
self . session . update_all_diagnostics ( ) . await ;
164
164
}
165
165
166
+ #[ tracing:: instrument( level = "info" , skip_all) ]
166
167
async fn shutdown ( & self ) -> LspResult < ( ) > {
167
168
Ok ( ( ) )
168
169
}
169
170
170
- #[ tracing:: instrument( level = "trace " , skip ( self ) ) ]
171
+ #[ tracing:: instrument( level = "info " , skip_all ) ]
171
172
async fn did_change_configuration ( & self , params : DidChangeConfigurationParams ) {
172
173
let _ = params;
173
174
self . session . load_workspace_settings ( ) . await ;
@@ -209,29 +210,41 @@ impl LanguageServer for LSPServer {
209
210
}
210
211
}
211
212
213
+ #[ tracing:: instrument( level = "trace" , skip( self ) ) ]
212
214
async fn did_open ( & self , params : DidOpenTextDocumentParams ) {
213
215
handlers:: text_document:: did_open ( & self . session , params)
214
216
. await
215
217
. ok ( ) ;
216
218
}
217
219
220
+ #[ tracing:: instrument( level = "trace" , skip( self , params) ) ]
218
221
async fn did_change ( & self , params : DidChangeTextDocumentParams ) {
219
- handlers:: text_document:: did_change ( & self . session , params)
220
- . await
221
- . ok ( ) ;
222
+ if let Err ( e ) = handlers:: text_document:: did_change ( & self . session , params) . await {
223
+ error ! ( "{}" , e ) ;
224
+ } ;
222
225
}
223
226
227
+ #[ tracing:: instrument( level = "trace" , skip( self ) ) ]
224
228
async fn did_save ( & self , params : DidSaveTextDocumentParams ) {
225
229
// handlers::text_document::did_save(&self.session, params)
226
230
// .await
227
231
// .ok();
228
232
}
229
233
234
+ #[ tracing:: instrument( level = "trace" , skip( self ) ) ]
230
235
async fn did_close ( & self , params : DidCloseTextDocumentParams ) {
231
236
handlers:: text_document:: did_close ( & self . session , params)
232
237
. await
233
238
. ok ( ) ;
234
239
}
240
+
241
+ #[ tracing:: instrument( level = "trace" , skip( self ) ) ]
242
+ async fn completion ( & self , params : CompletionParams ) -> LspResult < Option < CompletionResponse > > {
243
+ match handlers:: completions:: get_completions ( & self . session , params) {
244
+ Ok ( result) => LspResult :: Ok ( Some ( result) ) ,
245
+ Err ( e) => LspResult :: Err ( into_lsp_error ( e) ) ,
246
+ }
247
+ }
235
248
}
236
249
237
250
impl Drop for LSPServer {
@@ -379,6 +392,7 @@ impl ServerFactory {
379
392
workspace_method ! ( builder, change_file) ;
380
393
workspace_method ! ( builder, close_file) ;
381
394
workspace_method ! ( builder, pull_diagnostics) ;
395
+ workspace_method ! ( builder, get_completions) ;
382
396
383
397
let ( service, socket) = builder. finish ( ) ;
384
398
ServerConnection { socket, service }
0 commit comments