Hi again,
I just got an initial ruby-lsp LanguageClient working in my extension, however Nova terminates the LSP quickly during initial handshake because it data couldn’t be read because it isn’t in the correct format.
Here is what it looks like - maybe you can identify why it can’t process the response from it
(sorry for the verbose post, but I didn’t find a way to attach a text file to the post)
Ruby Language Server[22:14:12.088000] Initializing Ruby LSP v0.15.0...
Ruby Language Server[22:14:12.110000] Received JSON-RPC request: number(1) window/workDoneProgress/create
{
"method" : "window\/workDoneProgress\/create",
"jsonrpc" : "2.0",
"params" : {
"token" : "indexing-progress"
},
"id" : 1
}
Ruby Language Server[22:14:12.111000] Received JSON-RPC notification: $/progress
{
"jsonrpc" : "2.0",
"params" : {
"token" : "indexing-progress",
"value" : {
"title" : "Ruby LSP: indexing files",
"kind" : "begin",
"message" : "0% completed",
"percentage" : 0
}
},
"method" : "$\/progress"
}
Ruby Language Server[22:14:12.122000] Received JSON-RPC response: number(0) initialize
{
"id" : 0,
"jsonrpc" : "2.0",
"result" : {
"capabilities" : {
"foldingRangeProvider" : {
"lineFoldingOnly" : true
},
"semanticTokensProvider" : {
"legend" : {
"tokenTypes" : [
"namespace",
"type",
"class",
"enum",
"interface",
"struct",
"typeParameter",
"parameter",
"variable",
"property",
"enumMember",
"event",
"function",
"method",
"macro",
"keyword",
"modifier",
"comment",
"string",
"number",
"regexp",
"operator",
"decorator"
],
"tokenModifiers" : [
"declaration",
"definition",
"readonly",
"static",
"deprecated",
"abstract",
"async",
"modification",
"documentation",
"default_library"
]
},
"documentSelector" : {
"scheme" : "file",
"language" : "ruby"
},
"full" : {
"delta" : false
},
"range" : true
},
"documentLinkProvider" : {
},
"hoverProvider" : {
},
"documentSymbolProvider" : {
"symbolKind" : {
"value_set" : [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26
]
},
"hierarchicalDocumentSymbolSupport" : true
},
"documentOnTypeFormattingProvider" : {
"firstTriggerCharacter" : "{",
"moreTriggerCharacter" : [
"\n",
"|",
"d"
]
},
"codeActionProvider" : {
"resolveProvider" : true
},
"diagnosticProvider" : {
"interFileDependencies" : false,
"workspaceDiagnostics" : false
},
"definitionProvider" : true,
"signatureHelpProvider" : {
"triggerCharacters" : [
"(",
" ",
","
]
},
"completionProvider" : {
"resolveProvider" : true,
"completionItem" : {
"labelDetailsSupport" : true
},
"triggerCharacters" : [
"\/",
"\"",
"'"
]
},
"documentFormattingProvider" : true,
"positionEncoding" : "utf-16",
"workspaceSymbolProvider" : true,
"textDocumentSync" : {
"openClose" : true,
"change" : 2
},
"selectionRangeProvider" : true,
"codeLensProvider" : {
},
"documentHighlightProvider" : true,
"inlayHintProvider" : {
}
},
"serverInfo" : {
"name" : "Ruby LSP",
"version" : "0.15.0"
},
"formatter" : "none"
}
}
Ruby Language Server[22:14:12.122000] The data couldn’t be read because it isn’t in the correct format.
Ruby Language Server[22:14:12.122000] Ruby Language Server connection closed unexpectedly: typeMismatch(Swift.Array<Any>, Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "result", intValue: nil), CodingKeys(stringValue: "capabilities", intValue: nil), CodingKeys(stringValue: "semanticTokensProvider", intValue: nil), CodingKeys(stringValue: "documentSelector", intValue: nil)], debugDescription: "Expected to decode Array<Any> but found a dictionary instead.", underlyingError: nil))