summaryrefslogtreecommitdiff
path: root/helix-lsp/src/client.rs
diff options
context:
space:
mode:
Diffstat (limited to 'helix-lsp/src/client.rs')
-rw-r--r--helix-lsp/src/client.rs20
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(),
};