Fix falsy value for filterText and insertText

'filterText' and 'insertText' fields of 'CompletionItem' can only have
"" or undefined as falsy value.

https://github.com/microsoft/language-server-protocol/issues/1222
This commit is contained in:
rhysd 2021-03-15 20:16:16 +09:00
parent 521b795201
commit 6057d290b4
3 changed files with 4 additions and 4 deletions

View File

@ -415,7 +415,7 @@ fn nodeToCompletion(
} else false;
break :blk try analysis.getFunctionSnippet(&arena.allocator, tree, func, skip_self_param);
} else null;
} else "";
const is_type_function = analysis.isTypeFunction(handle.tree, func);

View File

@ -230,8 +230,8 @@ pub const CompletionItem = struct {
label: []const u8,
kind: Kind,
textEdit: ?TextEdit = null,
filterText: ?[]const u8 = null,
insertText: ?[]const u8 = null,
filterText: []const u8 = "",
insertText: []const u8 = "",
insertTextFormat: ?InsertTextFormat = .PlainText,
detail: ?[]const u8 = null,
documentation: ?MarkupContent = null,

View File

@ -138,7 +138,7 @@ test "Requesting a completion with no trailing whitespace" {
try sendRequest(completion_req, process);
try sendRequest(shutdown_message, process);
try consumeOutputAndWait(process, .{
\\{"jsonrpc":"2.0","id":2,"result":{"isIncomplete":false,"items":[{"label":"std","kind":21,"textEdit":null,"filterText":null,"insertText":null,"insertTextFormat":1,"detail":"const std = @import(\"std\")","documentation":null}]}}
\\{"jsonrpc":"2.0","id":2,"result":{"isIncomplete":false,"items":[{"label":"std","kind":21,"textEdit":null,"filterText":"","insertText":"","insertTextFormat":1,"detail":"const std = @import(\"std\")","documentation":null}]}}
});
}