In our Deno extension, there’s a certain code action which makes Nova throw up an error alert:
The logs say the following:
Deno Language Server[15:32:40.040000] Sending JSON-RPC request: 82 workspace/executeCommand
{
"jsonrpc" : "2.0",
"id" : 82,
"method" : "workspace\/executeCommand",
"params" : {
"command" : "deno.cache",
"arguments" : [
[
"https:\/\/deno.land\/std\/bytes\/bytes_list.ts"
]
]
}
}
Deno Language Server[15:32:40.040000] Got a workspace/executeCommand request, but it is not implemented
Deno Language Server[15:32:40.087000] Received JSON-RPC response: 82 workspace/executeCommand
{
"error" : {
"message" : "Method not found",
"code" : -32601
},
"id" : 82,
"jsonrpc" : "2.0"
}
Deno Language Server[15:32:40.087000] -32601 Method not found
The weird thing about this is that I think the Deno LSP is sending the deno.cache
command to the client (Nova), and Nova is not set up to handle this (?)
From the Deno LSP docs:
There are several commands that might be issued by the language server to the client, which the client is expected to implement:
deno.cache
- This is sent as a resolution code action when there is an un-cached module specifier that is being imported into a module. It will be sent with and argument that contains the resolved specifier as a string to be cached.
It’s weird, but I think all I want to do is issue back a deno/cache
request using this information, but there’s no way for our extension to field this incoming command?
Or have I got this all wrong?