PyvesB / eclipse-solargraph

:gem: Ruby development tools for Eclipse.
https://marketplace.eclipse.org/content/ruby-solargraph
Eclipse Public License 2.0
30 stars 6 forks source link

Plugin not working with eclipse 2021-12? #17

Closed AlBundy33 closed 2 years ago

AlBundy33 commented 2 years ago

I have a .solargraph.yml in my projects with this content.

include:
- "myapi/**/*.rb"

But since 've upgraded to Eclipse 2021-12 I don't get code-completion for my classes. Ruby classes a working e.g. [].sort is working

But this is not working

# @type [Java::MyApi::MyFancyTool]
$tool = $tool

$tool.do_something

With 2021-09 the completion of $tool worked as expected.

AlBundy33 commented 2 years ago

With the update from Eclipse 2021-09 to 2021-12 org.eclipse.lsp4e was also updated from 0.13.5.202103011336 to 0.13.8.202111241523 maybe that's the problem?

AlBundy33 commented 2 years ago

to reproduce this issue you can create a new project with this files myapi/my_fancy_tool.rb

module Java
    module MyApi
        class MyFancyTool
            def do_something(foo)
            end
        end
    end
end

test.rb

# @type [Java::MyApi::MyFancyTool]
$tool = $tool

$tool.do_something

if you run solargraph typecheck test.rb in the project-folder you'll get

.../test.rb:4 - Not enough arguments to Java::MyApi::MyFancyTool#do_something
1 problem found.

thats right because I've defined do_something(foo) So solargraph seems to know what type $tool is.

But in eclipse I don't get a completion for $tool. - only for []. or "". and so on

If I copy the contents of my_fancy_tool.rb into test.rb completion for $tool works as expected.

I'm on windows 10 btw.

PyvesB commented 2 years ago

Hello @AlBundy33 ! 👋🏻

Thanks for reporting this and sorry to hear that the plugin is not working as expected for you.

Could you please confirm that both your 2021-09 and 2021-12 Eclipse installations are using the same version of the Solargraph gem?

If that is the case, could you then enable Ruby language server logs (in Eclipse Preferences, I believe you can find these in Language Servers -> Logs) and report the messages that are printed in the console with both Eclipse installations?

AlBundy33 commented 2 years ago

yes - I've used the same version in both version. I think it was 0.43 but I'm not 100% sure because I've already tried to update solargraph and now I'm on 0.44.2

Just to be sure I've also downloaded eclipse 2021-09 again, created a fresh workspace and only installed solargraph. With this combination auto-complete works as expected.

AlBundy33 commented 2 years ago

I did the same with eclipse 2021-12 - here are the language server logs In the output of 2021-09 I see the my_fancy_tool.rb but in the output of 2021-12 it's missing. -> both versions using the same solargraph-version of course.

2021-09


[t=1639161105242] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 60

[t=1639161105258] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"1","method":"shutdown","params":null}
[t=1639161105398] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 1497

[t=1639161105399] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"1","method":"initialize","params":{"processId":15152,"rootPath":"/Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/","rootUri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/","capabilities":{"workspace":{"applyEdit":true,"workspaceEdit":{"documentChanges":true,"resourceOperations":["create","delete","rename"],"failureHandling":"undo"},"symbol":{"dynamicRegistration":true},"executeCommand":{"dynamicRegistration":true},"workspaceFolders":true},"textDocument":{"synchronization":{"willSave":true,"willSaveWaitUntil":true,"didSave":true},"completion":{"completionItem":{"snippetSupport":true,"documentationFormat":["markdown","plaintext"]}},"hover":{"contentFormat":["markdown","plaintext"]},"signatureHelp":{},"references":{},"documentHighlight":{},"documentSymbol":{"symbolKind":{"valueSet":[18,17,5,14,9,10,22,24,8,1,12,11,20,6,2,3,21,16,19,25,4,7,15,23,26,13]},"hierarchicalDocumentSymbolSupport":true},"formatting":{"dynamicRegistration":true},"rangeFormatting":{},"definition":{"linkSupport":true},"typeDefinition":{"linkSupport":true},"codeAction":{"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}},"dynamicRegistration":true},"codeLens":{},"documentLink":{},"colorProvider":{},"rename":{},"foldingRange":{}}},"clientName":"Eclipse IDE","trace":"off"}}
[t=1639161110275] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 47

[t=1639161110275] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"exit","params":null}
[t=1639161114290] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"1","result":{"capabilities":{"textDocumentSync":2,"workspace":{"workspaceFolders":{"supported":true,"changeNotifications":true}},"completionProvider":{"resolveProvider":true,"triggerCharacters":[".",":","@"]},"signatureHelpProvider":{"triggerCharacters":["(",","]},"hoverProvider":true,"documentSymbolProvider":true,"definitionProvider":true,"renameProvider":{"prepareProvider":true},"referencesProvider":true,"foldingRangeProvider":true,"documentHighlightProvider":true}}}
[t=1639161114314] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 52

[t=1639161114315] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"initialized","params":{}}
[t=1639161114324] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 204

[t=1639161114326] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"2","method":"textDocument/foldingRange","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161114327] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 245

[t=1639161114329] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"3","method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"position":{"line":5,"character":0}}}
[t=1639161114330] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 320

[t=1639161114333] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","languageId":"rb","version":1,"text":"# @type [Java::MyApi::MyFancyTool]\r\n$tool \u003d $tool\r\n\r\n$tool.do_something\r\n\r\n"}}}
[t=1639161114334] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 237

[t=1639161114335] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"workspace/didChangeWorkspaceFolders","params":{"event":{"added":[{"uri":"file:/Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest","name":"SolargraphTest"}],"removed":[]}}}
[t=1639161114377] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","method":"client/registerCapability","params":{"registrations":[{"id":"textDocument/formatting","method":"textDocument/formatting","registerOptions":{"formattingProvider":true}},{"id":"workspace/symbol","method":"workspace/symbol","registerOptions":{"workspaceSymbolProvider":true}}]},"id":1}
[t=1639161114382] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"2","error":{"code":-32603,"message":"[Solargraph::FileNotFoundError] Host could not find file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}
[t=1639161114489] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 1507

[t=1639161114489] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":1,"error":{"code":-32603,"message":"Internal error.","data":"java.util.concurrent.CompletionException: java.lang.NullPointerException\r\n\tat java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)\r\n\tat java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)\r\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1739)\r\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1728)\r\n\tat java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)\r\n\tat java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)\r\n\tat java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)\r\n\tat java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)\r\n\tat java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)\r\nCaused by: java.lang.NullPointerException\r\n\tat org.eclipse.lsp4e.LanguageServerWrapper.lambda$16(LanguageServerWrapper.java:763)\r\n\tat java.base/java.util.ArrayList.forEach(ArrayList.java:1541)\r\n\tat org.eclipse.lsp4e.LanguageServerWrapper.registerCapability(LanguageServerWrapper.java:737)\r\n\tat org.eclipse.lsp4e.LanguageClientImpl.lambda$2(LanguageClientImpl.java:106)\r\n\tat java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1736)\r\n\t... 6 more\r\n"}}
[t=1639161114857] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 206

[t=1639161114857] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"4","method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161116756] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161116756] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":2,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":0}},"rangeLength":0,"text":"$"}]}}
[t=1639161117090] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161117090] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":3,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":1},"end":{"line":5,"character":1}},"rangeLength":0,"text":"t"}]}}
[t=1639161117259] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161117259] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":4,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":2},"end":{"line":5,"character":2}},"rangeLength":0,"text":"o"}]}}
[t=1639161117425] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161117425] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":5,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":3},"end":{"line":5,"character":3}},"rangeLength":0,"text":"o"}]}}
[t=1639161117644] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161117645] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":6,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":4},"end":{"line":5,"character":4}},"rangeLength":0,"text":"l"}]}}
[t=1639161117859] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161117859] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":7,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":5},"end":{"line":5,"character":5}},"rangeLength":0,"text":"."}]}}
[t=1639161117875] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 351

[t=1639161117875] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"5","method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","position":{"line":5,"character":6}}}
[t=1639161118508] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 245

[t=1639161118509] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"6","method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"position":{"line":5,"character":6}}}
[t=1639161118622] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 64

[t=1639161118623] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":"4"}}
[t=1639161118624] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 204

[t=1639161118624] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"7","method":"textDocument/foldingRange","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161118625] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 206

[t=1639161118626] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"8","method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161120341] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"3","error":{"code":-32603,"message":"[Solargraph::FileNotFoundError] File not found: Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}
[t=1639161120426] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"4","result":[]}
[t=1639161120733] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"5","result":{"isIncomplete":false,"items":[]}}
[t=1639161120738] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"6","result":[]}
[t=1639161120741] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"7","result":[]}
[t=1639161120742] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"8","result":[]}
[t=1639161122511] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 325

[t=1639161122512] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":8,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":5},"end":{"line":5,"character":6}},"rangeLength":1,"text":""}]}}
[t=1639161123109] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 245

[t=1639161123109] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"9","method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"position":{"line":5,"character":5}}}
[t=1639161123159] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161123159] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":9,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":5},"end":{"line":5,"character":5}},"rangeLength":0,"text":"."}]}}
[t=1639161123173] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 352

[t=1639161123174] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"10","method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","position":{"line":5,"character":6}}}
[t=1639161123175] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"9","result":[{"range":{"start":{"line":1,"character":9},"end":{"line":1,"character":13}},"kind":1},{"range":{"start":{"line":1,"character":1},"end":{"line":1,"character":5}},"kind":1},{"range":{"start":{"line":3,"character":1},"end":{"line":3,"character":5}},"kind":1},{"range":{"start":{"line":5,"character":1},"end":{"line":5,"character":5}},"kind":1}]}
[t=1639161123222] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"10","result":{"isIncomplete":false,"items":[{"label":"do_something","kind":2,"detail":"(foo)","data":{"path":"Java::MyApi::MyFancyTool#do_something","return_type":"undefined","location":{"filename":"Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/myapi/my_fancy_tool.rb","range":{"start":{"line":3,"character":3},"end":{"line":4,"character":6}}},"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"do_something"},"sortText":"0000do_something"},{"label":"assert_Qundef","kind":2,"detail":"(obj, msg)","data":{"path":"Object#assert_Qundef","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"assert_Qundef"},"sortText":"0001assert_Qundef"},{"label":"class","kind":2,"detail":null,"data":{"path":"Object#class","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"class"},"sortText":"0001class"},{"label":"clone","kind":2,"detail":"=> self","data":{"path":"Object#clone","return_type":"self","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"clone"},"sortText":"0001clone"},{"label":"define_singleton_method","kind":2,"detail":"(*args)","data":{"path":"Object#define_singleton_method","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"define_singleton_method"},"sortText":"0001define_singleton_method"},{"label":"display","kind":2,"detail":"(*args)","data":{"path":"Object#display","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"display"},"sortText":"0001display"},{"label":"dup","kind":2,"detail":"=> self","data":{"path":"Object#dup","return_type":"self","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"dup"},"sortText":"0001dup"},{"label":"enum_for","kind":2,"detail":"(*args)","data":{"path":"Object#enum_for","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"enum_for"},"sortText":"0001enum_for"},{"label":"eql?","kind":2,"detail":"(obj2)","data":{"path":"Object#eql?","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"eql?"},"sortText":"0001eql?"},{"label":"extend","kind":2,"detail":"(*args)","data":{"path":"Object#extend","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"extend"},"sortText":"0001extend"},{"label":"freeze","kind":2,"detail":"=> self","data":{"path":"Object#freeze","return_type":"self","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"freeze"},"sortText":"0001freeze"},{"label":"frozen?","kind":2,"detail":null,"data":{"path":"Object#frozen?","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"frozen?"},"sortText":"0001frozen?"},{"label":"hash","kind":2,"detail":null,"data":{"path":"Object#hash","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"hash"},"sortText":"0001hash"},{"label":"initialize_clone","kind":2,"detail":"(orig)","data":{"path":"Object#initialize_clone","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"initialize_clone"},"sortText":"0001initialize_clone"},{"label":"initialize_copy","kind":2,"detail":"(orig)","data":{"path":"Object#initialize_copy","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"initialize_copy"},"sortText":"0001initialize_copy"},{"label":"initialize_dup","kind":2,"detail":"(orig)","data":{"path":"Object#initialize_dup","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"initialize_dup"},"sortText":"0001initialize_dup"},{"label":"inspect","kind":2,"detail":"=> String","data":{"path":"Object#inspect","return_type":"String","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"inspect"},"sortText":"0001inspect"},{"label":"instance_of?","kind":2,"detail":"(c)","data":{"path":"Object#instance_of?","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"instance_of?"},"sortText":"0001instance_of?"},{"label":"instance_variable_defined?","kind":2,"detail":"(iv)","data":{"path":"Object#instance_variable_defined?","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"instance_variable_defined?"},"sortText":"0001instance_variable_defined?"},{"label":"instance_variable_get","kind":2,"detail":"(iv)","data":{"path":"Object#instance_variable_get","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"instance_variable_get"},"sortText":"0001instance_variable_get"},{"label":"instance_variable_set","kind":2,"detail":"(iv, val)","data":{"path":"Object#instance_variable_set","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"instance_variable_set"},"sortText":"0001instance_variable_set"},{"label":"instance_variables","kind":2,"detail":null,"data":{"path":"Object#instance_variables","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"instance_variables"},"sortText":"0001instance_variables"},{"label":"is_a?","kind":2,"detail":"(c)","data":{"path":"Object#is_a?","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"is_a?"},"sortText":"0001is_a?"},{"label":"itself","kind":2,"detail":null,"data":{"path":"Object#itself","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"itself"},"sortText":"0001itself"},{"label":"kind_of?","kind":2,"detail":"(c)","data":{"path":"Object#kind_of?","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"kind_of?"},"sortText":"0001kind_of?"},{"label":"method","kind":2,"detail":"(vid)","data":{"path":"Object#method","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"method"},"sortText":"0001method"},{"label":"methods","kind":2,"detail":"(*args)","data":{"path":"Object#methods","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"methods"},"sortText":"0001methods"},{"label":"nil?","kind":2,"detail":null,"data":{"path":"Object#nil?","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"nil?"},"sortText":"0001nil?"},{"label":"object_id","kind":2,"detail":null,"data":{"path":"Object#object_id","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"object_id"},"sortText":"0001object_id"},{"label":"private_methods","kind":2,"detail":"(*args)","data":{"path":"Object#private_methods","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"private_methods"},"sortText":"0001private_methods"},{"label":"protected_methods","kind":2,"detail":"(*args)","data":{"path":"Object#protected_methods","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"protected_methods"},"sortText":"0001protected_methods"},{"label":"public_method","kind":2,"detail":"(vid)","data":{"path":"Object#public_method","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"public_method"},"sortText":"0001public_method"},{"label":"public_methods","kind":2,"detail":"(*args)","data":{"path":"Object#public_methods","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"public_methods"},"sortText":"0001public_methods"},{"label":"public_send","kind":2,"detail":"(*args)","data":{"path":"Object#public_send","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"public_send"},"sortText":"0001public_send"},{"label":"rawVALUE","kind":2,"detail":"(obj)","data":{"path":"Object#rawVALUE","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"rawVALUE"},"sortText":"0001rawVALUE"},{"label":"remove_instance_variable","kind":2,"detail":"(name)","data":{"path":"Object#remove_instance_variable","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"remove_instance_variable"},"sortText":"0001remove_instance_variable"},{"label":"respond_to?","kind":2,"detail":"(*args)","data":{"path":"Object#respond_to?","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"respond_to?"},"sortText":"0001respond_to?"},{"label":"respond_to_missing?","kind":2,"detail":"(mid, priv)","data":{"path":"Object#respond_to_missing?","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"respond_to_missing?"},"sortText":"0001respond_to_missing?"},{"label":"send","kind":2,"detail":"(*args)","data":{"path":"Object#send","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"send"},"sortText":"0001send"},{"label":"singleton_class","kind":2,"detail":null,"data":{"path":"Object#singleton_class","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"singleton_class"},"sortText":"0001singleton_class"},{"label":"singleton_method","kind":2,"detail":"(vid)","data":{"path":"Object#singleton_method","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"singleton_method"},"sortText":"0001singleton_method"},{"label":"singleton_methods","kind":2,"detail":"(*args)","data":{"path":"Object#singleton_methods","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"singleton_methods"},"sortText":"0001singleton_methods"},{"label":"taint","kind":2,"detail":"=> self","data":{"path":"Object#taint","return_type":"self","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"taint"},"sortText":"0001taint"},{"label":"tainted?","kind":2,"detail":null,"data":{"path":"Object#tainted?","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"tainted?"},"sortText":"0001tainted?"},{"label":"tap","kind":2,"detail":"=> self","data":{"path":"Object#tap","return_type":"self","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"tap"},"sortText":"0001tap"},{"label":"to_enum","kind":2,"detail":"(*args)","data":{"path":"Object#to_enum","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"to_enum"},"sortText":"0001to_enum"},{"label":"to_s","kind":2,"detail":"=> String","data":{"path":"Object#to_s","return_type":"String","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"to_s"},"sortText":"0001to_s"},{"label":"trust","kind":2,"detail":null,"data":{"path":"Object#trust","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"trust"},"sortText":"0001trust"},{"label":"untaint","kind":2,"detail":"=> self","data":{"path":"Object#untaint","return_type":"self","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"untaint"},"sortText":"0001untaint"},{"label":"untrust","kind":2,"detail":null,"data":{"path":"Object#untrust","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"untrust"},"sortText":"0001untrust"},{"label":"untrusted?","kind":2,"detail":null,"data":{"path":"Object#untrusted?","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"untrusted?"},"sortText":"0001untrusted?"},{"label":"validate_object","kind":2,"detail":"(x)","data":{"path":"Object#validate_object","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"validate_object"},"sortText":"0001validate_object"},{"label":"__id__","kind":2,"detail":null,"data":{"path":"BasicObject#__id__","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"__id__"},"sortText":"0002__id__"},{"label":"__send__","kind":2,"detail":"(*args)","data":{"path":"BasicObject#__send__","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"__send__"},"sortText":"0002__send__"},{"label":"equal?","kind":2,"detail":"(obj2)","data":{"path":"BasicObject#equal?","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"equal?"},"sortText":"0002equal?"},{"label":"instance_eval","kind":2,"detail":"(*args)","data":{"path":"BasicObject#instance_eval","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"instance_eval"},"sortText":"0002instance_eval"},{"label":"instance_exec","kind":2,"detail":"(*args)","data":{"path":"BasicObject#instance_exec","return_type":"undefined","location":null,"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"instance_exec"},"sortText":"0002instance_exec"}]}}
[t=1639161123376] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 689

[t=1639161123376] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"11","method":"completionItem/resolve","params":{"label":"do_something","kind":2,"detail":"(foo)","sortText":"0000do_something","textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"do_something"},"data":{"path":"Java::MyApi::MyFancyTool#do_something","return_type":"undefined","location":{"filename":"Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/myapi/my_fancy_tool.rb","range":{"start":{"line":3,"character":3},"end":{"line":4,"character":6}}},"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161123508] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"11","result":{"label":"do_something","kind":2,"detail":"(foo) =~ nil","sortText":"0000do_something","textEdit":{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"newText":"do_something"},"data":{"path":"Java::MyApi::MyFancyTool#do_something","return_type":"undefined","location":{"filename":"Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/myapi/my_fancy_tool.rb","range":{"start":{"line":3,"character":3},"end":{"line":4,"character":6}}},"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"documentation":{"kind":"markdown","value":"Java::MyApi::MyFancyTool#do_something\n\nVisibility: public"}}}
[t=1639161123706] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 207

[t=1639161123707] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"12","method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161123707] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 205

[t=1639161123707] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"13","method":"textDocument/foldingRange","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161123735] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"12","result":[]}
[t=1639161123736] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"13","result":[]}
[t=1639161123809] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 246

[t=1639161123810] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"14","method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"position":{"line":5,"character":6}}}
[t=1639161123821] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"14","result":[]}
[t=1639161124274] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 327

[t=1639161124275] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":10,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"rangeLength":0,"text":"d"}]}}
[t=1639161124544] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 327

[t=1639161124544] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":11,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":7},"end":{"line":5,"character":7}},"rangeLength":0,"text":"o"}]}}
[t=1639161124859] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 338

[t=1639161124859] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":12,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":8}},"rangeLength":2,"text":"do_something"}]}}
[t=1639161125392] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 247

[t=1639161125392] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"15","method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"position":{"line":5,"character":18}}}
[t=1639161125423] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"15","result":[{"range":{"start":{"line":3,"character":6},"end":{"line":3,"character":18}},"kind":1},{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":18}},"kind":1}]}
[t=1639161125796] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 207

[t=1639161125798] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"16","method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161125801] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 205

[t=1639161125802] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"17","method":"textDocument/foldingRange","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161125809] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"16","result":[]}
[t=1639161125810] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"17","result":[]}
[t=1639161154435] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 328

[t=1639161154436] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":13,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":18}},"rangeLength":18,"text":""}]}}
[t=1639161154576] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161154577] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":14,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":4,"character":0},"end":{"line":5,"character":0}},"rangeLength":2,"text":""}]}}
[t=1639161154950] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 286

[t=1639161154951] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"text":"# @type [Java::MyApi::MyFancyTool]\r\n$tool \u003d $tool\r\n\r\n$tool.do_something\r\n"}}
[t=1639161155357] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 207

[t=1639161155358] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"18","method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161155361] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 205

[t=1639161155362] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"19","method":"textDocument/foldingRange","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161155373] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"18","result":[]}
[t=1639161155375] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"19","result":[]}
[t=1639161155503] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 246

[t=1639161155504] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"20","method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"position":{"line":4,"character":0}}}
[t=1639161155519] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"20","result":[]}
[t=1639161158010] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 61

[t=1639161158011] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"21","method":"shutdown","params":null}
[t=1639161158012] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 191

[t=1639161158012] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didClose","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-09-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161158019] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"21","result":null}
[t=1639161158020] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 47

[t=1639161158021] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"exit","params":null}

2021-12


[t=1639161415696] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 1647

[t=1639161415698] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"1","method":"initialize","params":{"processId":11864,"rootPath":"/Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/","rootUri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/","capabilities":{"workspace":{"applyEdit":true,"workspaceEdit":{"documentChanges":true,"resourceOperations":["create","delete","rename"],"failureHandling":"undo"},"symbol":{"dynamicRegistration":true},"executeCommand":{"dynamicRegistration":true},"workspaceFolders":true},"textDocument":{"synchronization":{"willSave":true,"willSaveWaitUntil":true,"didSave":true},"completion":{"completionItem":{"snippetSupport":true,"documentationFormat":["markdown","plaintext"]}},"hover":{"contentFormat":["markdown","plaintext"]},"signatureHelp":{},"references":{},"documentHighlight":{},"documentSymbol":{"symbolKind":{"valueSet":[18,17,5,14,9,10,22,24,8,1,12,11,20,6,2,3,21,16,19,25,4,7,15,23,26,13]},"hierarchicalDocumentSymbolSupport":true},"formatting":{"dynamicRegistration":true},"rangeFormatting":{},"definition":{"linkSupport":true},"typeDefinition":{"linkSupport":true},"codeAction":{"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}},"dynamicRegistration":true},"codeLens":{},"documentLink":{},"colorProvider":{},"rename":{},"foldingRange":{}}},"clientName":"Eclipse IDE","trace":"off","workspaceFolders":[{"uri":"file:/Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest","name":"SolargraphTest"}]}}
[t=1639161420883] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"1","result":{"capabilities":{"textDocumentSync":2,"workspace":{"workspaceFolders":{"supported":true,"changeNotifications":true}},"completionProvider":{"resolveProvider":true,"triggerCharacters":[".",":","@"]},"signatureHelpProvider":{"triggerCharacters":["(",","]},"hoverProvider":true,"documentSymbolProvider":true,"definitionProvider":true,"renameProvider":{"prepareProvider":true},"referencesProvider":true,"foldingRangeProvider":true,"documentHighlightProvider":true}}}
[t=1639161420900] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 52

[t=1639161420901] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"initialized","params":{}}
[t=1639161420914] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 320

[t=1639161420915] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","languageId":"rb","version":1,"text":"# @type [Java::MyApi::MyFancyTool]\r\n$tool \u003d $tool\r\n\r\n$tool.do_something\r\n\r\n"}}}
[t=1639161420921] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 237

[t=1639161420922] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"workspace/didChangeWorkspaceFolders","params":{"event":{"added":[{"uri":"file:/Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest","name":"SolargraphTest"}],"removed":[]}}}
[t=1639161420949] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","method":"client/registerCapability","params":{"registrations":[{"id":"textDocument/formatting","method":"textDocument/formatting","registerOptions":{"formattingProvider":true}},{"id":"workspace/symbol","method":"workspace/symbol","registerOptions":{"workspaceSymbolProvider":true}}]},"id":1}
[t=1639161420955] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 38

[t=1639161420956] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":1,"result":null}
[t=1639161425883] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 245

[t=1639161425884] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"2","method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"position":{"line":5,"character":0}}}
[t=1639161425976] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161425977] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":2,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":0}},"rangeLength":0,"text":"$"}]}}
[t=1639161426326] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161426327] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":3,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":1},"end":{"line":5,"character":1}},"rangeLength":0,"text":"t"}]}}
[t=1639161426467] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161426468] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":4,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":2},"end":{"line":5,"character":2}},"rangeLength":0,"text":"o"}]}}
[t=1639161426610] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161426611] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":5,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":3},"end":{"line":5,"character":3}},"rangeLength":0,"text":"o"}]}}
[t=1639161426790] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161426790] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":6,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":4},"end":{"line":5,"character":4}},"rangeLength":0,"text":"l"}]}}
[t=1639161426978] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161426978] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":7,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":5},"end":{"line":5,"character":5}},"rangeLength":0,"text":"."}]}}
[t=1639161426996] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 351

[t=1639161426997] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"3","method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","position":{"line":5,"character":6}}}
[t=1639161427135] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"2","result":[]}
[t=1639161427231] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"3","result":{"isIncomplete":false,"items":[]}}
[t=1639161427596] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 245

[t=1639161427597] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"4","method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"position":{"line":5,"character":6}}}
[t=1639161427601] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"4","result":[]}
[t=1639161427655] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 204

[t=1639161427656] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"5","method":"textDocument/foldingRange","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161427664] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"5","result":[]}
[t=1639161428170] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 325

[t=1639161428171] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":8,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":5},"end":{"line":5,"character":6}},"rangeLength":1,"text":""}]}}
[t=1639161428184] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 351

[t=1639161428185] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"6","method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","position":{"line":5,"character":5}}}
[t=1639161428221] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"6","result":{"isIncomplete":false,"items":[{"label":"$tool","kind":6,"detail":"=> Java::MyApi::MyFancyTool","data":{"path":null,"return_type":"Java::MyApi::MyFancyTool","location":{"filename":"Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","range":{"start":{"line":1,"character":0},"end":{"line":1,"character":13}}},"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"textEdit":{"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":5}},"newText":"$tool"},"sortText":"0000$tool"}]}}
[t=1639161428345] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 653

[t=1639161428346] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"7","method":"completionItem/resolve","params":{"label":"$tool","kind":6,"detail":"\u003d\u003e Java::MyApi::MyFancyTool","sortText":"0000$tool","textEdit":{"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":5}},"newText":"$tool"},"data":{"return_type":"Java::MyApi::MyFancyTool","location":{"filename":"Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","range":{"start":{"line":1,"character":0},"end":{"line":1,"character":13}}},"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161428498] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"7","result":{"label":"$tool","kind":6,"detail":"=> Java::MyApi::MyFancyTool","sortText":"0000$tool","textEdit":{"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":5}},"newText":"$tool"},"data":{"path":null,"return_type":"Java::MyApi::MyFancyTool","location":{"filename":"Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","range":{"start":{"line":1,"character":0},"end":{"line":1,"character":13}}},"deprecated":false,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"documentation":{"kind":"markdown","value":"Java::MyApi::MyFancyTool"}}}
[t=1639161428797] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 245

[t=1639161428798] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"8","method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"position":{"line":5,"character":5}}}
[t=1639161428809] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"8","result":[{"range":{"start":{"line":1,"character":9},"end":{"line":1,"character":13}},"kind":1},{"range":{"start":{"line":1,"character":1},"end":{"line":1,"character":5}},"kind":1},{"range":{"start":{"line":3,"character":1},"end":{"line":3,"character":5}},"kind":1},{"range":{"start":{"line":5,"character":1},"end":{"line":5,"character":5}},"kind":1}]}
[t=1639161429160] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 204

[t=1639161429160] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"9","method":"textDocument/foldingRange","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161429173] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"9","result":[]}
[t=1639161429251] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161429251] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":9,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":5},"end":{"line":5,"character":5}},"rangeLength":0,"text":"."}]}}
[t=1639161429333] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 352

[t=1639161429334] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"10","method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","position":{"line":5,"character":6}}}
[t=1639161429351] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"10","result":{"isIncomplete":false,"items":[]}}
[t=1639161429769] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 246

[t=1639161429769] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"11","method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"position":{"line":5,"character":6}}}
[t=1639161429781] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"11","result":[]}
[t=1639161430163] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 205

[t=1639161430164] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"12","method":"textDocument/foldingRange","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161430175] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"12","result":[]}
[t=1639161430303] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 352

[t=1639161430304] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"13","method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","position":{"line":5,"character":6}}}
[t=1639161430317] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"13","result":{"isIncomplete":false,"items":[]}}
[t=1639161431488] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 327

[t=1639161431489] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":10,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":6}},"rangeLength":6,"text":"$"}]}}
[t=1639161431730] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 327

[t=1639161431731] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":11,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":1},"end":{"line":5,"character":1}},"rangeLength":0,"text":"t"}]}}
[t=1639161431850] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 327

[t=1639161431851] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":12,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":2},"end":{"line":5,"character":2}},"rangeLength":0,"text":"o"}]}}
[t=1639161431995] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 327

[t=1639161431996] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":13,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":3},"end":{"line":5,"character":3}},"rangeLength":0,"text":"o"}]}}
[t=1639161432166] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 327

[t=1639161432167] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":14,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":4},"end":{"line":5,"character":4}},"rangeLength":0,"text":"l"}]}}
[t=1639161432344] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 327

[t=1639161432345] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":15,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":5},"end":{"line":5,"character":5}},"rangeLength":0,"text":"."}]}}
[t=1639161432353] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 352

[t=1639161432354] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"14","method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","position":{"line":5,"character":6}}}
[t=1639161432368] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"14","result":{"isIncomplete":false,"items":[]}}
[t=1639161432915] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 352

[t=1639161432916] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"15","method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","position":{"line":5,"character":6}}}
[t=1639161432923] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"15","result":{"isIncomplete":false,"items":[]}}
[t=1639161432930] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 246

[t=1639161432931] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"16","method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"position":{"line":5,"character":6}}}
[t=1639161432940] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"16","result":[]}
[t=1639161433169] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 205

[t=1639161433170] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"17","method":"textDocument/foldingRange","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161433175] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"17","result":[]}
[t=1639161434019] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161434020] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":16,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":6}},"rangeLength":6,"text":""}]}}
[t=1639161434349] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 290

[t=1639161434350] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"text":"# @type [Java::MyApi::MyFancyTool]\r\n$tool \u003d $tool\r\n\r\n$tool.do_something\r\n\r\n"}}
[t=1639161434675] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 205

[t=1639161434676] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"18","method":"textDocument/foldingRange","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161434692] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"18","result":[]}
[t=1639161434905] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 246

[t=1639161434906] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"19","method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"position":{"line":5,"character":0}}}
[t=1639161434916] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"19","result":[]}
[t=1639161434986] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 327

[t=1639161434987] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":17,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":0}},"rangeLength":0,"text":"$"}]}}
[t=1639161435267] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 327

[t=1639161435268] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":18,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":1},"end":{"line":5,"character":1}},"rangeLength":0,"text":"t"}]}}
[t=1639161435391] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 327

[t=1639161435392] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":19,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":2},"end":{"line":5,"character":2}},"rangeLength":0,"text":"o"}]}}
[t=1639161435534] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 327

[t=1639161435534] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":20,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":3},"end":{"line":5,"character":3}},"rangeLength":0,"text":"o"}]}}
[t=1639161435706] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 327

[t=1639161435707] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":21,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":4},"end":{"line":5,"character":4}},"rangeLength":0,"text":"l"}]}}
[t=1639161435883] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 327

[t=1639161435884] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":22,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":5},"end":{"line":5,"character":5}},"rangeLength":0,"text":"."}]}}
[t=1639161435894] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 352

[t=1639161435895] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"20","method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","position":{"line":5,"character":6}}}
[t=1639161435913] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"20","result":{"isIncomplete":false,"items":[]}}
[t=1639161436376] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 352

[t=1639161436377] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"21","method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","position":{"line":5,"character":6}}}
[t=1639161436387] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"21","result":{"isIncomplete":false,"items":[]}}
[t=1639161436537] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 352

[t=1639161436538] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"22","method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","position":{"line":5,"character":6}}}
[t=1639161436544] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"22","result":{"isIncomplete":false,"items":[]}}
[t=1639161436679] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 205

[t=1639161436680] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"23","method":"textDocument/foldingRange","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161436685] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"23","result":[]}
[t=1639161436702] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 352

[t=1639161436703] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"24","method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","position":{"line":5,"character":6}}}
[t=1639161436717] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"24","result":{"isIncomplete":false,"items":[]}}
[t=1639161437262] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 246

[t=1639161437263] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"25","method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"position":{"line":5,"character":6}}}
[t=1639161437278] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"25","result":[]}
[t=1639161442734] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 352

[t=1639161442735] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"26","method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","position":{"line":5,"character":6}}}
[t=1639161442747] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"26","result":{"isIncomplete":false,"items":[]}}
[t=1639161444137] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161444138] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":23,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":5,"character":0},"end":{"line":5,"character":6}},"rangeLength":6,"text":""}]}}
[t=1639161444279] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161444280] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":24,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":4,"character":0},"end":{"line":5,"character":0}},"rangeLength":2,"text":""}]}}
[t=1639161444586] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 286

[t=1639161444587] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"text":"# @type [Java::MyApi::MyFancyTool]\r\n$tool \u003d $tool\r\n\r\n$tool.do_something\r\n"}}
[t=1639161444912] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 61

[t=1639161444914] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"27","method":"shutdown","params":null}
[t=1639161444915] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 191

[t=1639161444915] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didClose","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161444924] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"27","result":null}
[t=1639161444926] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 47

[t=1639161444929] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"exit","params":null}
[t=1639161445690] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 1647

[t=1639161445690] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"1","method":"initialize","params":{"processId":11864,"rootPath":"/Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/","rootUri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/","capabilities":{"workspace":{"applyEdit":true,"workspaceEdit":{"documentChanges":true,"resourceOperations":["create","delete","rename"],"failureHandling":"undo"},"symbol":{"dynamicRegistration":true},"executeCommand":{"dynamicRegistration":true},"workspaceFolders":true},"textDocument":{"synchronization":{"willSave":true,"willSaveWaitUntil":true,"didSave":true},"completion":{"completionItem":{"snippetSupport":true,"documentationFormat":["markdown","plaintext"]}},"hover":{"contentFormat":["markdown","plaintext"]},"signatureHelp":{},"references":{},"documentHighlight":{},"documentSymbol":{"symbolKind":{"valueSet":[18,17,5,14,9,10,22,24,8,1,12,11,20,6,2,3,21,16,19,25,4,7,15,23,26,13]},"hierarchicalDocumentSymbolSupport":true},"formatting":{"dynamicRegistration":true},"rangeFormatting":{},"definition":{"linkSupport":true},"typeDefinition":{"linkSupport":true},"codeAction":{"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}},"dynamicRegistration":true},"codeLens":{},"documentLink":{},"colorProvider":{},"rename":{},"foldingRange":{}}},"clientName":"Eclipse IDE","trace":"off","workspaceFolders":[{"uri":"file:/Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest","name":"SolargraphTest"}]}}
[t=1639161450888] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"1","result":{"capabilities":{"textDocumentSync":2,"workspace":{"workspaceFolders":{"supported":true,"changeNotifications":true}},"completionProvider":{"resolveProvider":true,"triggerCharacters":[".",":","@"]},"signatureHelpProvider":{"triggerCharacters":["(",","]},"hoverProvider":true,"documentSymbolProvider":true,"definitionProvider":true,"renameProvider":{"prepareProvider":true},"referencesProvider":true,"foldingRangeProvider":true,"documentHighlightProvider":true}}}
[t=1639161450892] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 52

[t=1639161450892] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"initialized","params":{}}
[t=1639161450896] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 316

[t=1639161450897] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","languageId":"rb","version":1,"text":"# @type [Java::MyApi::MyFancyTool]\r\n$tool \u003d $tool\r\n\r\n$tool.do_something\r\n"}}}
[t=1639161450900] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 204

[t=1639161450901] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"2","method":"textDocument/foldingRange","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161450902] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 245

[t=1639161450902] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"3","method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"position":{"line":4,"character":0}}}
[t=1639161450903] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 237

[t=1639161450903] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"workspace/didChangeWorkspaceFolders","params":{"event":{"added":[{"uri":"file:/Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest","name":"SolargraphTest"}],"removed":[]}}}
[t=1639161450911] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161450912] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":2,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":0}},"rangeLength":0,"text":"$"}]}}
[t=1639161450921] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161450922] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":3,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":4,"character":1},"end":{"line":4,"character":1}},"rangeLength":0,"text":"t"}]}}
[t=1639161450932] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161450933] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":4,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":4,"character":2},"end":{"line":4,"character":2}},"rangeLength":0,"text":"o"}]}}
[t=1639161450942] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161450943] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":5,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":4,"character":3},"end":{"line":4,"character":3}},"rangeLength":0,"text":"o"}]}}
[t=1639161450951] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161450952] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":6,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":4,"character":4},"end":{"line":4,"character":4}},"rangeLength":0,"text":"l"}]}}
[t=1639161450967] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","method":"client/registerCapability","params":{"registrations":[{"id":"textDocument/formatting","method":"textDocument/formatting","registerOptions":{"formattingProvider":true}},{"id":"workspace/symbol","method":"workspace/symbol","registerOptions":{"workspaceSymbolProvider":true}}]},"id":1}
[t=1639161450968] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 38

[t=1639161450968] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":1,"result":null}
[t=1639161451000] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 206

[t=1639161451001] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"4","method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161451504] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 64

[t=1639161451505] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":"4"}}
[t=1639161451506] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 206

[t=1639161451506] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"5","method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161451656] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 204

[t=1639161451657] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"6","method":"textDocument/foldingRange","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161451753] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 245

[t=1639161451754] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"7","method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"position":{"line":4,"character":5}}}
[t=1639161452422] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161452423] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":7,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":4,"character":5},"end":{"line":4,"character":5}},"rangeLength":0,"text":"."}]}}
[t=1639161452431] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 351

[t=1639161452431] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"8","method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","position":{"line":4,"character":6}}}
[t=1639161453008] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 64

[t=1639161453008] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":"5"}}
[t=1639161453009] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 206

[t=1639161453010] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"9","method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161453036] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 246

[t=1639161453036] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"10","method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"position":{"line":4,"character":6}}}
[t=1639161453159] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 205

[t=1639161453159] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"11","method":"textDocument/foldingRange","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161456437] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"2","result":[]}
[t=1639161456752] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"3","result":[]}
[t=1639161456804] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"4","result":[]}
[t=1639161456806] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"5","result":[]}
[t=1639161456807] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"6","result":[]}
[t=1639161456843] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"7","result":[{"range":{"start":{"line":1,"character":9},"end":{"line":1,"character":13}},"kind":1},{"range":{"start":{"line":1,"character":1},"end":{"line":1,"character":5}},"kind":1},{"range":{"start":{"line":3,"character":1},"end":{"line":3,"character":5}},"kind":1},{"range":{"start":{"line":4,"character":1},"end":{"line":4,"character":5}},"kind":1}]}
[t=1639161456862] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"8","result":{"isIncomplete":false,"items":[]}}
[t=1639161456864] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"9","result":[]}
[t=1639161456864] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"10","result":[]}
[t=1639161456865] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"11","result":[]}
[t=1639161461249] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 352

[t=1639161461250] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"12","method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","position":{"line":4,"character":6}}}
[t=1639161461258] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"12","result":{"isIncomplete":false,"items":[]}}
[t=1639161462029] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 325

[t=1639161462030] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":8,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":4,"character":5},"end":{"line":4,"character":6}},"rangeLength":1,"text":""}]}}
[t=1639161462632] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 246

[t=1639161462633] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"13","method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"position":{"line":4,"character":5}}}
[t=1639161462644] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"13","result":[{"range":{"start":{"line":1,"character":9},"end":{"line":1,"character":13}},"kind":1},{"range":{"start":{"line":1,"character":1},"end":{"line":1,"character":5}},"kind":1},{"range":{"start":{"line":3,"character":1},"end":{"line":3,"character":5}},"kind":1},{"range":{"start":{"line":4,"character":1},"end":{"line":4,"character":5}},"kind":1}]}
[t=1639161462646] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 326

[t=1639161462647] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":9,"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"contentChanges":[{"range":{"start":{"line":4,"character":5},"end":{"line":4,"character":5}},"rangeLength":0,"text":"."}]}}
[t=1639161462659] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 352

[t=1639161462660] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"14","method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","position":{"line":4,"character":6}}}
[t=1639161462676] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"14","result":{"isIncomplete":false,"items":[]}}
[t=1639161463161] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 352

[t=1639161463162] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"15","method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb","position":{"line":4,"character":6}}}
[t=1639161463166] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"15","result":{"isIncomplete":false,"items":[]}}
[t=1639161463168] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 205

[t=1639161463169] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"16","method":"textDocument/foldingRange","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161463182] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"16","result":[]}
[t=1639161463525] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 64

[t=1639161463526] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":"9"}}
[t=1639161463527] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 207

[t=1639161463528] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"17","method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"}}}
[t=1639161463535] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"17","result":[]}
[t=1639161463748] LSP4E to io.github.pyvesb.eclipse_solargraph:
Content-Length: 246

[t=1639161463749] LSP4E to io.github.pyvesb.eclipse_solargraph:
{"jsonrpc":"2.0","id":"18","method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/test.rb"},"position":{"line":4,"character":6}}}
[t=1639161463760] io.github.pyvesb.eclipse_solargraph to LSP4E:
{"jsonrpc":"2.0","id":"18","result":[]}
PyvesB commented 2 years ago

Thanks for sharing those.

From what I can see, the initialize request of the LSP4E client in 2021-12 contains an extra workspaceFolders section:

"workspaceFolders": [
    {
        "uri": "file:/Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest",
        "name": "SolargraphTest"
    }
]

This was added in LSP4E via this commit: https://github.com/eclipse/lsp4e/commit/8bc4025ca232d04ec3532a98a4ab7f6267217edd

rootUri is deprecated in the Language Server Protocol. Now that workspaceFolders is present in the initialize request, the Solargraph language server uses its value (file:/Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest) instead of the value of rootUri (file:///Z:/dev_tools/eclipse/eclipse-rcp-2021-12-R-win32-x86_64/eclipse/workspace/SolargraphTest/).

However, as you may have noticed, unlike all other URIs used in the requests and responses, workspaceFolders starts with file:/Z:... instead of file:///Z:....

I believe this is confusing the Solargraph language server, which does a substitution on file:///: https://github.com/castwide/solargraph/blob/949fa3c3be83de437f84c6acf8b9503347083471/lib/solargraph/language_server/uri_helpers.rb#L17

As a consequence, Solargraph will not pick up other files in your workspace, which explains why you observed that "If I copy the contents of my_fancy_tool.rb into test.rb completion for $tool works as expected".

On the one hand, one could argue that this is a problem in LSP4E as:

On the other hand, one could argue that it's a problem in Solargraph, as I believe RFC 3986 does technically allow file:/, even though it's an uncommon form and the RFC itself also uses file:/// in its example for the file scheme.

All things considered, I think it makes more sense to report and fix this in LSP4E.

AlBundy33 commented 2 years ago

Thanks for investigation - I've created a new issue in the lsp4e project. 👍

PyvesB commented 2 years ago

I've submitted a patch to lsp4e (https://github.com/eclipse/lsp4e/pull/41), you can check out the latest snapshot by using the following update site: http://download.eclipse.org/lsp4e/snapshots/

Closing this issue, but feel free to reopen if you encounter any more issues. 😉