on master help sign in
Remove offset_encoding in CodeActionOrCommandItem, as it can be retrieved on demand
commit93fd79a949f0fcaa97fa30f841d90c6c1c3f68de authorPhilipp Mildenberger <philipp@mildenberger.me> dateMon 27 Mar 2023, 21:21 (4 years ago) parent073000e
1 file changed+7−5
helix-term/src/commands/lsp.rs+7−5
helix-term/src/commands/lsp.rs+7−5
@@ -535,7 +535,6 @@ pub fn workspace_diagnostics_picker(cx: &mut Context) {
535535
536536struct CodeActionOrCommandItem {
537537 lsp_item: lsp::CodeActionOrCommand,
538− offset_encoding: OffsetEncoding,
539538 language_server_id: usize,
540539}
541540
@@ -637,9 +636,9 @@ pub fn code_action(cx: &mut Context) {
637636 };
638637 let code_action_request =
639638 language_server.code_actions(doc.identifier(), range, code_action_context)?;
640− Some((code_action_request, offset_encoding, language_server_id))
639+ Some((code_action_request, language_server_id))
641640 })
642− .map(|(request, offset_encoding, ls_id)| async move {
641+ .map(|(request, ls_id)| async move {
643642 let json = request.await?;
644643 let response: Option<lsp::CodeActionResponse> = serde_json::from_value(json)?;
645644 let mut actions = match response {
@@ -695,7 +694,6 @@ pub fn code_action(cx: &mut Context) {
695694 .into_iter()
696695 .map(|lsp_item| CodeActionOrCommandItem {
697696 lsp_item,
698− offset_encoding,
699697 language_server_id: ls_id,
700698 })
701699 .collect())
@@ -727,7 +725,11 @@ pub fn code_action(cx: &mut Context) {
727725
728726 // always present here
729727 let action = action.unwrap();
730− let offset_encoding = action.offset_encoding;
728+ let Some(language_server) = editor.language_servers.get_by_id(action.language_server_id) else {
729+ editor.set_error("Language Server disappeared");
730+ return;
731+ };
732+ let offset_encoding = language_server.offset_encoding();
731733
732734 match &action.lsp_item {
733735 lsp::CodeActionOrCommand::Command(command) => {