@@ -1224,14 +1224,15 @@ impl ILanguageClient for Arc<Mutex<State>> {
1224
1224
"line" : ctx. lnum - 1 ,
1225
1225
"character" : ctx. col - 1 ,
1226
1226
} ) . to_params ( ) ?) ) ?;
1227
- let result: CompletionResult = serde_json:: from_value ( result) ?;
1227
+ let result: Option < CompletionResponse > = serde_json:: from_value ( result) ?;
1228
+ let result = result. unwrap_or_else ( || CompletionResponse :: Array ( vec ! [ ] ) ) ;
1228
1229
let is_incomplete = match result {
1229
- CompletionResult :: Array ( _) => false ,
1230
- CompletionResult :: Object ( ref list) => list. is_incomplete ,
1230
+ CompletionResponse :: Array ( _) => false ,
1231
+ CompletionResponse :: List ( ref list) => list. is_incomplete ,
1231
1232
} ;
1232
1233
let matches: Vec < VimCompleteItem > = match result {
1233
- CompletionResult :: Array ( arr) => arr,
1234
- CompletionResult :: Object ( list) => list. items ,
1234
+ CompletionResponse :: Array ( arr) => arr,
1235
+ CompletionResponse :: List ( list) => list. items ,
1235
1236
} . into_iter ( )
1236
1237
. map ( |lspitem| lspitem. into ( ) )
1237
1238
. collect ( ) ;
@@ -1247,10 +1248,11 @@ impl ILanguageClient for Arc<Mutex<State>> {
1247
1248
fn languageClient_omniComplete ( & self , params : & Option < Params > ) -> Result < Value > {
1248
1249
info ! ( "Begin {}" , REQUEST__OmniComplete ) ;
1249
1250
let result = self . textDocument_completion ( params) ?;
1250
- let result: CompletionResult = serde_json:: from_value ( result) ?;
1251
+ let result: Option < CompletionResponse > = serde_json:: from_value ( result) ?;
1252
+ let result = result. unwrap_or_else ( || CompletionResponse :: Array ( vec ! [ ] ) ) ;
1251
1253
let matches: Vec < VimCompleteItem > = match result {
1252
- CompletionResult :: Array ( arr) => arr,
1253
- CompletionResult :: Object ( list) => list. items ,
1254
+ CompletionResponse :: Array ( arr) => arr,
1255
+ CompletionResponse :: List ( list) => list. items ,
1254
1256
} . into_iter ( )
1255
1257
. map ( |lspitem| lspitem. into ( ) )
1256
1258
. collect ( ) ;
0 commit comments