From 8ddc7e64589e6a06cf5010e4d6200bc0576de212 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Fri, 22 Apr 2022 14:33:13 -0700 Subject: [PATCH] Respect lsp completions' 'insert_text' property when present Fixes #839 --- crates/project/src/project.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/crates/project/src/project.rs b/crates/project/src/project.rs index c2e444741e37ef434c3c23f15857c32d44517af5..81d8301efb6879a2212798f52db34819ccf98e6f 100644 --- a/crates/project/src/project.rs +++ b/crates/project/src/project.rs @@ -2502,13 +2502,12 @@ impl Project { log::info!("completion out of expected range"); return None; } - ( - this.common_prefix_at( - clipped_position, - &lsp_completion.label, - ), - lsp_completion.label.clone(), - ) + let text = lsp_completion + .insert_text + .as_ref() + .unwrap_or(&lsp_completion.label) + .clone(); + (this.common_prefix_at(clipped_position, &text), text.clone()) } Some(lsp::CompletionTextEdit::InsertAndReplace(_)) => { log::info!("unsupported insert/replace completion");