on master help sign in
lsp: Support insertReplace
1312682Blaž Hrastnik
helix-lsp/src/client.rs+1
@@ -311,6 +311,7 @@ impl Client {
311 String::from("additionalTextEdits"),
311 String::from("additionalTextEdits"),
312 ],
312 ],
313 }),
313 }),
314+ insert_replace_support: Some(true),
314 ..Default::default()
315 ..Default::default()
315 }),
316 }),
316 completion_item_kind: Some(lsp::CompletionItemKindCapability {
317 completion_item_kind: Some(lsp::CompletionItemKindCapability {
helix-term/src/ui/completion.rs+2−1
@@ -113,7 +113,8 @@ impl Completion {
113 let edit = match edit {
113 let edit = match edit {
114 lsp::CompletionTextEdit::Edit(edit) => edit.clone(),
114 lsp::CompletionTextEdit::Edit(edit) => edit.clone(),
115 lsp::CompletionTextEdit::InsertAndReplace(item) => {
115 lsp::CompletionTextEdit::InsertAndReplace(item) => {
116− unimplemented!("completion: insert_and_replace {:?}", item)
116+ // TODO: support using "insert" instead of "replace" via user config
117+ lsp::TextEdit::new(item.replace, item.new_text.clone())
117 }
118 }
118 };
119 };
119
120