fix: support TextEdit responses to completion requests

In addition to InsertReplaceEdit responses.

This improves completion with OmniSharp and possibly others.
This commit is contained in:
CJ van den Berg 2025-10-02 14:58:32 +02:00
parent cc9b002778
commit ebb7fb399e
Signed by: neurocyte
GPG key ID: 8EB1E1BB660E3FB9

View file

@ -1086,7 +1086,7 @@ fn send_completion_item(to: tp.pid_ref, file_path: []const u8, row: usize, col:
var range_: []const u8 = undefined; var range_: []const u8 = undefined;
if (!(try cbor.matchValue(&iter, cbor.extract_cbor(&range_)))) return invalid_field("textEdit.insert"); if (!(try cbor.matchValue(&iter, cbor.extract_cbor(&range_)))) return invalid_field("textEdit.insert");
textEdit_insert = try read_range(range_); textEdit_insert = try read_range(range_);
} else if (std.mem.eql(u8, field_name, "replace")) { } else if (std.mem.eql(u8, field_name, "replace") or std.mem.eql(u8, field_name, "range")) {
var range_: []const u8 = undefined; var range_: []const u8 = undefined;
if (!(try cbor.matchValue(&iter, cbor.extract_cbor(&range_)))) return invalid_field("textEdit.replace"); if (!(try cbor.matchValue(&iter, cbor.extract_cbor(&range_)))) return invalid_field("textEdit.replace");
textEdit_replace = try read_range(range_); textEdit_replace = try read_range(range_);