File tree Expand file tree Collapse file tree 1 file changed +15
-1
lines changed Expand file tree Collapse file tree 1 file changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -2038,7 +2038,21 @@ impl State {
20382038
20392039 pub fn languageClient_registerHandlers ( & mut self , params : & Value ) -> Fallible < Value > {
20402040 info ! ( "Begin {}" , REQUEST__RegisterHandlers ) ;
2041- let handlers: HashMap < String , String > = params. clone ( ) . to_lsp ( ) ?;
2041+ let handlers: Fallible < HashMap < String , String > > = params
2042+ . as_object ( )
2043+ . ok_or_else ( || err_msg ( "Invalid arguments!" ) ) ?
2044+ . iter ( )
2045+ . filter_map ( |( k, v) | {
2046+ if * * k == VimVar :: Bufnr . to_key ( ) || * * k == VimVar :: LanguageId . to_key ( ) {
2047+ return None ;
2048+ }
2049+
2050+ Some ( match serde_json:: to_string ( v) {
2051+ Ok ( v) => Ok ( ( k. clone ( ) , v) ) ,
2052+ Err ( err) => Err ( err. into ( ) ) ,
2053+ } )
2054+ } ) . collect ( ) ;
2055+ let handlers = handlers?;
20422056 self . update ( |state| {
20432057 state. user_handlers . extend ( handlers) ;
20442058 Ok ( ( ) )
You can’t perform that action at this time.
0 commit comments