aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--helix-lsp/src/client.rs1
-rw-r--r--helix-term/src/ui/completion.rs3
2 files changed, 3 insertions, 1 deletions
diff --git a/helix-lsp/src/client.rs b/helix-lsp/src/client.rs
index 0b443ccf..81b7d8ad 100644
--- a/helix-lsp/src/client.rs
+++ b/helix-lsp/src/client.rs
@@ -311,6 +311,7 @@ impl Client {
String::from("additionalTextEdits"),
],
}),
+ insert_replace_support: Some(true),
..Default::default()
}),
completion_item_kind: Some(lsp::CompletionItemKindCapability {
diff --git a/helix-term/src/ui/completion.rs b/helix-term/src/ui/completion.rs
index de7c3232..5ec8cf89 100644
--- a/helix-term/src/ui/completion.rs
+++ b/helix-term/src/ui/completion.rs
@@ -113,7 +113,8 @@ impl Completion {
let edit = match edit {
lsp::CompletionTextEdit::Edit(edit) => edit.clone(),
lsp::CompletionTextEdit::InsertAndReplace(item) => {
- unimplemented!("completion: insert_and_replace {:?}", item)
+ // TODO: support using "insert" instead of "replace" via user config
+ lsp::TextEdit::new(item.replace, item.new_text.clone())
}
};