@@ -416,20 +416,27 @@ fn loop_turn(
416
416
417
417
if Some ( resp. id ) == loop_state. configuration_request_id {
418
418
loop_state. configuration_request_id = None ;
419
- if let Some ( err) = resp. error {
420
- log:: error!( "failed to fetch the server settings: {:?}" , err)
421
- } else if let Some ( result) = resp. result {
422
- let new_config = serde_json:: from_value :: < Vec < ServerConfig > > ( result) ?
423
- . first ( )
424
- . expect ( "The client is expected to always send a non-empty config data" )
425
- . to_owned ( ) ;
426
- world_state. update_configuration (
427
- new_config. lru_capacity ,
428
- get_options ( & new_config, text_document_caps) ,
429
- get_feature_flags ( & new_config, connection) ,
430
- ) ;
431
- } else {
432
- log:: error!( "received empty server settings response from the client" )
419
+ let Response { error, result, .. } = resp;
420
+ match ( error, result) {
421
+ ( Some ( err) , _) => {
422
+ log:: error!( "failed to fetch the server settings: {:?}" , err)
423
+ }
424
+ ( None , Some ( result) ) => {
425
+ let new_config = serde_json:: from_value :: < Vec < ServerConfig > > ( result) ?
426
+ . first ( )
427
+ . expect (
428
+ "The client is expected to always send a non-empty config data" ,
429
+ )
430
+ . to_owned ( ) ;
431
+ world_state. update_configuration (
432
+ new_config. lru_capacity ,
433
+ get_options ( & new_config, text_document_caps) ,
434
+ get_feature_flags ( & new_config, connection) ,
435
+ ) ;
436
+ }
437
+ ( None , None ) => {
438
+ log:: error!( "received empty server settings response from the client" )
439
+ }
433
440
}
434
441
}
435
442
}
0 commit comments