on master help sign in
lsp: Use into_iter->map->collect instead of manual loop.
15f142bBlaž Hrastnik
helix-lsp/src/client.rs+8−12
@@ -610,18 +610,14 @@ impl Client {
610
610
611 let items = match response {
611 let items = match response {
612 Some(lsp::GotoDefinitionResponse::Scalar(location)) => vec![location],
612 Some(lsp::GotoDefinitionResponse::Scalar(location)) => vec![location],
613− Some(lsp::GotoDefinitionResponse::Array(location_vec)) => location_vec,
613+ Some(lsp::GotoDefinitionResponse::Array(locations)) => locations,
614− Some(lsp::GotoDefinitionResponse::Link(location_link_vec)) => {
614+ Some(lsp::GotoDefinitionResponse::Link(locations)) => locations
615− let mut location_vec: Vec<lsp::Location> = Vec::new();
615+ .into_iter()
616− location_link_vec.into_iter().for_each(|location_link| {
617− let link = lsp::Location {
616+ .map(|location_link| lsp::Location {
618− uri: location_link.target_uri,
617+ uri: location_link.target_uri,
619− range: location_link.target_range,
618+ range: location_link.target_range,
620− };
619+ })
621− location_vec.push(link)
620+ .collect(),
622− });
623− location_vec
624− }
625 None => Vec::new(),
621 None => Vec::new(),
626 };
622 };
627
623