@@ -7224,7 +7224,7 @@ async fn test_language_server_restart_due_to_settings_change(cx: &mut gpui::Test
}
#[gpui::test]
-async fn test_completions_with_extra_edits(cx: &mut gpui::TestAppContext) {
+async fn test_completions_with_additional_edits(cx: &mut gpui::TestAppContext) {
init_test(cx, |_| {});
let mut cx = EditorLspTestContext::new_rust(
@@ -7294,92 +7294,6 @@ async fn test_completions_with_extra_edits(cx: &mut gpui::TestAppContext) {
request.next().await;
- cx.condition(|editor, _| editor.context_menu_visible())
- .await;
- let apply_additional_edits = cx.update_editor(|editor, cx| {
- editor
- .confirm_completion(&ConfirmCompletion::default(), cx)
- .unwrap()
- });
- cx.assert_editor_state(indoc! {"fn main() { let a = 2.Some(2)ˇ; }"});
- apply_additional_edits.await.unwrap();
- cx.assert_editor_state(indoc! {"fn main() { let a = Some(2)ˇ; }"});
-}
-
-#[gpui::test]
-async fn test_completions_with_extra_resolved_edits(cx: &mut gpui::TestAppContext) {
- init_test(cx, |_| {});
-
- let mut cx = EditorLspTestContext::new_rust(
- lsp::ServerCapabilities {
- completion_provider: Some(lsp::CompletionOptions {
- trigger_characters: Some(vec![".".to_string()]),
- ..Default::default()
- }),
- ..Default::default()
- },
- cx,
- )
- .await;
-
- cx.set_state(indoc! {"fn main() { let a = 2ˇ; }"});
- cx.simulate_keystroke(".");
- let completion_item = lsp::CompletionItem {
- label: "some".into(),
- kind: Some(lsp::CompletionItemKind::SNIPPET),
- detail: Some("Wrap the expression in an `Option::Some`".to_string()),
- documentation: Some(lsp::Documentation::MarkupContent(lsp::MarkupContent {
- kind: lsp::MarkupKind::Markdown,
- value: "```rust\nSome(2)\n```".to_string(),
- })),
- deprecated: Some(false),
- sort_text: Some("fffffff2".to_string()),
- filter_text: Some("some".to_string()),
- insert_text_format: Some(lsp::InsertTextFormat::SNIPPET),
- text_edit: Some(lsp::CompletionTextEdit::Edit(lsp::TextEdit {
- range: lsp::Range {
- start: lsp::Position {
- line: 0,
- character: 22,
- },
- end: lsp::Position {
- line: 0,
- character: 22,
- },
- },
- new_text: "Some(2)".to_string(),
- })),
- additional_text_edits: Some(vec![lsp::TextEdit {
- range: lsp::Range {
- start: lsp::Position {
- line: 0,
- character: 20,
- },
- end: lsp::Position {
- line: 0,
- character: 22,
- },
- },
- new_text: "".to_string(),
- }]),
- ..Default::default()
- };
-
- let closure_completion_item = completion_item.clone();
- let mut request = cx.handle_request::<lsp::request::Completion, _, _>(move |_, _, _| {
- let task_completion_item = closure_completion_item.clone();
- async move {
- Ok(Some(lsp::CompletionResponse::Array(vec![
- lsp::CompletionItem {
- additional_text_edits: None,
- ..task_completion_item
- },
- ])))
- }
- });
-
- request.next().await;
-
cx.condition(|editor, _| editor.context_menu_visible())
.await;
let apply_additional_edits = cx.update_editor(|editor, cx| {
@@ -4446,17 +4446,10 @@ impl Project {
};
cx.spawn(|this, mut cx| async move {
- let additional_text_edits = if let Some(edits) =
- completion.lsp_completion.additional_text_edits.as_ref()
- {
- Some(edits.clone())
- } else {
- lang_server
- .request::<lsp::request::ResolveCompletionItem>(completion.lsp_completion)
- .await?
- .additional_text_edits
- };
-
+ let additional_text_edits = lang_server
+ .request::<lsp::request::ResolveCompletionItem>(completion.lsp_completion)
+ .await?
+ .additional_text_edits;
if let Some(edits) = additional_text_edits {
let edits = this
.update(&mut cx, |this, cx| {