Respond with null where we can, even if we already marked a capability as false.
This commit is contained in:
parent
50c8cebe26
commit
269c308ec7
21
src/main.zig
21
src/main.zig
@ -719,7 +719,7 @@ fn processJsonRpc(parser: *std.json.Parser, json: []const u8, config: Config) !v
|
|||||||
const local_config = configFromUriOr(uri, config);
|
const local_config = configFromUriOr(uri, config);
|
||||||
try document_store.applyChanges(handle, content_changes, local_config.zig_lib_path);
|
try document_store.applyChanges(handle, content_changes, local_config.zig_lib_path);
|
||||||
try publishDiagnostics(handle.*, local_config);
|
try publishDiagnostics(handle.*, local_config);
|
||||||
} else if (std.mem.eql(u8, method, "textDocument/didSave")) {
|
} else if (std.mem.eql(u8, method, "textDocument/didSave") or std.mem.eql(u8, method, "textDocument/willSave")) {
|
||||||
// noop
|
// noop
|
||||||
} else if (std.mem.eql(u8, method, "textDocument/didClose")) {
|
} else if (std.mem.eql(u8, method, "textDocument/didClose")) {
|
||||||
const document = params.getValue("textDocument").?.Object;
|
const document = params.getValue("textDocument").?.Object;
|
||||||
@ -783,12 +783,14 @@ fn processJsonRpc(parser: *std.json.Parser, json: []const u8, config: Config) !v
|
|||||||
try respondGeneric(id, no_completions_response);
|
try respondGeneric(id, no_completions_response);
|
||||||
}
|
}
|
||||||
} else if (std.mem.eql(u8, method, "textDocument/signatureHelp")) {
|
} else if (std.mem.eql(u8, method, "textDocument/signatureHelp")) {
|
||||||
|
// TODO: Implement this
|
||||||
try respondGeneric(id,
|
try respondGeneric(id,
|
||||||
\\,"result":{"signatures":[]}}
|
\\,"result":{"signatures":[]}}
|
||||||
);
|
);
|
||||||
} else if (std.mem.eql(u8, method, "textDocument/definition") or
|
} else if (std.mem.eql(u8, method, "textDocument/definition") or
|
||||||
std.mem.eql(u8, method, "textDocument/declaration") or
|
std.mem.eql(u8, method, "textDocument/declaration") or
|
||||||
std.mem.eql(u8, method, "textDocument/typeDefinition"))
|
std.mem.eql(u8, method, "textDocument/typeDefinition") or
|
||||||
|
std.mem.eql(u8, method, "textDocument/implementation"))
|
||||||
{
|
{
|
||||||
const document = params.getValue("textDocument").?.Object;
|
const document = params.getValue("textDocument").?.Object;
|
||||||
const uri = document.getValue("uri").?.String;
|
const uri = document.getValue("uri").?.String;
|
||||||
@ -874,6 +876,21 @@ fn processJsonRpc(parser: *std.json.Parser, json: []const u8, config: Config) !v
|
|||||||
};
|
};
|
||||||
|
|
||||||
try documentSymbol(id, handle);
|
try documentSymbol(id, handle);
|
||||||
|
} else if (std.mem.eql(u8, method, "textDocument/references") or
|
||||||
|
std.mem.eql(u8, method, "textDocument/documentHighlight") or
|
||||||
|
std.mem.eql(u8, method, "textDocument/codeAction") or
|
||||||
|
std.mem.eql(u8, method, "textDocument/codeLens") or
|
||||||
|
std.mem.eql(u8, method, "textDocument/documentLink") or
|
||||||
|
std.mem.eql(u8, method, "textDocument/formatting") or
|
||||||
|
std.mem.eql(u8, method, "textDocument/rangeFormatting") or
|
||||||
|
std.mem.eql(u8, method, "textDocument/onTypeFormatting") or
|
||||||
|
std.mem.eql(u8, method, "textDocument/rename") or
|
||||||
|
std.mem.eql(u8, method, "textDocument/prepareRename") or
|
||||||
|
std.mem.eql(u8, method, "textDocument/foldingRange") or
|
||||||
|
std.mem.eql(u8, method, "textDocument/selectionRange"))
|
||||||
|
{
|
||||||
|
// TODO: Unimplemented methods, implement them and add them to server capabilities.
|
||||||
|
try respondGeneric(id, null_result_response);
|
||||||
} else if (root.Object.getValue("id")) |_| {
|
} else if (root.Object.getValue("id")) |_| {
|
||||||
std.debug.warn("Method with return value not implemented: {}", .{method});
|
std.debug.warn("Method with return value not implemented: {}", .{method});
|
||||||
try respondGeneric(id, not_implemented_response);
|
try respondGeneric(id, not_implemented_response);
|
||||||
|
Loading…
Reference in New Issue
Block a user