@@ -86,14 +86,14 @@ impl LanguageServer for Backend {
8686 return Some ( new_settings) ;
8787 }
8888
89- let deprecated_settings = value. get ( "settings" ) ;
90-
9189 // the client has deprecated settings and has a deprecated root uri.
9290 // handle all things like the old way
93- if deprecated_settings. is_some ( ) && params. root_uri . is_some ( ) {
91+ if let ( Some ( deprecated_settings) , Some ( root_uri) ) =
92+ ( value. get ( "settings" ) , params. root_uri . as_ref ( ) )
93+ {
9494 return Some ( vec ! [ WorkspaceOption {
95- workspace_uri: params . root_uri. clone( ) . unwrap ( ) ,
96- options: deprecated_settings. unwrap ( ) . clone( ) ,
95+ workspace_uri: root_uri. clone( ) ,
96+ options: deprecated_settings. clone( ) ,
9797 } ] ) ;
9898 }
9999
@@ -129,10 +129,10 @@ impl LanguageServer for Backend {
129129 // start the linter. We do not start the linter when the client support the request,
130130 // we will init the linter after requesting for the workspace configuration.
131131 if !capabilities. workspace_configuration || options. is_some ( ) {
132+ let options = options. unwrap_or_default ( ) ;
133+
132134 for worker in & workers {
133135 let option = options
134- . as_deref ( )
135- . unwrap_or_default ( )
136136 . iter ( )
137137 . find ( |workspace_option| {
138138 worker. is_responsible_for_uri ( & workspace_option. workspace_uri )
@@ -522,7 +522,7 @@ impl LanguageServer for Backend {
522522 let content = params. content_changes . first ( ) . map ( |c| c. text . clone ( ) ) ;
523523
524524 if let Some ( content) = & content {
525- self . file_system . write ( ) . await . set ( & uri, content. clone ( ) ) ;
525+ self . file_system . write ( ) . await . set ( uri. clone ( ) , content. clone ( ) ) ;
526526 }
527527
528528 if let Some ( diagnostics) = worker. run_diagnostic_on_change ( & uri, content. as_deref ( ) ) . await {
@@ -545,7 +545,7 @@ impl LanguageServer for Backend {
545545
546546 let content = params. text_document . text ;
547547
548- self . file_system . write ( ) . await . set ( & uri, content. clone ( ) ) ;
548+ self . file_system . write ( ) . await . set ( uri. clone ( ) , content. clone ( ) ) ;
549549
550550 if let Some ( diagnostics) = worker. run_diagnostic ( & uri, Some ( & content) ) . await {
551551 self . client
0 commit comments