@@ -178,17 +178,21 @@ impl Completion {
178178 });
179179
180180 // apply additional edits, mostly used to auto import unqualified types
181− let resolved_additional_text_edits = if item.additional_text_edits.is_some() {
181+ let resolved_item = if item
182+ .additional_text_edits
183+ .as_ref()
184+ .map(|edits| !edits.is_empty())
185+ .unwrap_or(false)
186+ {
182187 None
183188 } else {
184189 Self::resolve_completion_item(doc, item.clone())
185− .and_then(|item| item.additional_text_edits)
186190 };
187191
188− if let Some(additional_edits) = item
189− .additional_text_edits
192+ if let Some(additional_edits) = resolved_item
190193 .as_ref()
191− .or(resolved_additional_text_edits.as_ref())
194+ .and_then(|item| item.additional_text_edits.as_ref())
195+ .or(item.additional_text_edits.as_ref())
192196 {
193197 if !additional_edits.is_empty() {
194198 let transaction = util::generate_transaction_from_edits(