diff options
-rw-r--r-- | helix-lsp/src/client.rs | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/helix-lsp/src/client.rs b/helix-lsp/src/client.rs index 1b67e215..97e5cfad 100644 --- a/helix-lsp/src/client.rs +++ b/helix-lsp/src/client.rs @@ -610,18 +610,14 @@ impl Client { let items = match response { Some(lsp::GotoDefinitionResponse::Scalar(location)) => vec![location], - Some(lsp::GotoDefinitionResponse::Array(location_vec)) => location_vec, - Some(lsp::GotoDefinitionResponse::Link(location_link_vec)) => { - let mut location_vec: Vec<lsp::Location> = Vec::new(); - location_link_vec.into_iter().for_each(|location_link| { - let link = lsp::Location { - uri: location_link.target_uri, - range: location_link.target_range, - }; - location_vec.push(link) - }); - location_vec - } + Some(lsp::GotoDefinitionResponse::Array(locations)) => locations, + Some(lsp::GotoDefinitionResponse::Link(locations)) => locations + .into_iter() + .map(|location_link| lsp::Location { + uri: location_link.target_uri, + range: location_link.target_range, + }) + .collect(), None => Vec::new(), }; |