Repository navigation
Work over stdio? #65
Description
Activity
Thanks!
A stdio transport is on the roadmap; in fact, it was the first transport I expected to deliver. I switched to TCP because I was able to get better performance out of it. I'll revisit the stdio implementation and post updates in this issue.
Reacted by Seth Messer, Jonathan Boudreau, Hunter Braun, Vitaly, Devon Meunier, Michael Nussbaum, Faris Masad, Germán Méndez Bravo, Abdo and Faristhis would be grand! thanks @castwide
Reacted by Faris MasadI have just submitted an issue to Oni for TCP support ; I had been looking for something like Oni for years - I just found out about it yesterday! Having it work with Solargarph would be amazing!
The
stdiobranch includes a working implementation of the stdio transport. Runsolargraph stdioto start the server. The performance issues I encountered in my earlier experiments appear to be largely resolved here. I haven't benchmarked it, but its performance "feels" very close to the socket server.I encourage client developers to clone/fork it and give it a try. Barring major bugs, I expect to publish it in gem version 0.23 or 0.24.
Reacted by Gibson Fahnestock, Shuhei YOSHIDA, Michael Nussbaum, Faris, Seekr Wang and AbdoThe
stdiobranch is merged intomaster.Reacted by Seth Messer, Shuhei YOSHIDA, Michael Nussbaum, Faris Masad, Duncan Beaton, Seekr Wang, Abdo and Jonathan Boudreauthanks @castwide will the gemspec be updated and the update get published to rubygems in the next couple days?
Reacted by Shuhei YOSHIDA@megalithic I expect to publish it by Monday (July 2) at the latest.
Reacted by Shuhei YOSHIDA, Gibson Fahnestock, Abdo and Duncan BeatonPublished gem v0.23.0. Clients using stdio should run
solargraph stdio.Reacted by Shuhei YOSHIDA and Michael NussbaumGuys, has anyone been able to get suggestions? Oni shows that Ruby has connected to language server; hovering over a class name shows me data. However, when I do
[1,2,3]., I do not get any suggestions."language.ruby.languageServer.command": "solargraph", "language.ruby.languageServer.arguments": [ "stdio", ],It seems that the first time I open the file, I am able to get some completion on Arrays; this is what the developer tools console is showing:
Request completionItem/resolveAfter the first use, I start getting
Request textDocument/completion(which does not trigger anything)@devinalvaro Can you post a full vimrc/init.vim? I can't get it to work in multiple async complete plugins.
Gem version 0.24.0 fixes a bug that affected some clients using the stdio transport. More information: #79
If anyone has any problems using the stdio transport, please open a new issue.
- added a commit that references this issue
on Aug 25, 2026 - added a commit that references this issue
on Sep 1, 2026
Hey! This is awesome! I'm using https://github.com/onivim/oni and would love to use this with it, but Oni only supports stdio for language servers at the moment: could you make solargraph work over stdio as well as it's current TCP setup? My naive self tells me this should be relatively trivial to impliment.