An OmniSharp proxy that filters out null messages from the language server.
Find a file
2026-01-06 14:56:28 -06:00
.editorconfig initial commit 2026-01-05 11:44:23 -06:00
.gitignore initial commit 2026-01-05 11:44:23 -06:00
omniproxy.csproj initial commit 2026-01-05 11:44:23 -06:00
omnisharp.json initial commit 2026-01-05 11:44:23 -06:00
Program.cs initial commit 2026-01-05 11:44:23 -06:00
README.md added readme 2026-01-06 14:56:28 -06:00

OmniProxy

Proxy that filters out empty and null messages sent by an LSP server, tested against omnisharp-roslyn.

To use, check out and build or publish this project, then create a wrapper script that calls your LSP executable and pipes its output to omniproxy. For example:

omniwrapper.sh

#!/bin/sh

exec OmniSharp "$@" | /path/to/omniproxy

Then configure your editor to launch your omniwrapper.sh script in place of the actual LSP. For example if you use Helix your languages.toml configuration might look something like this:

[language-server.omniwrapper]
command = "/path/to/omniwrapper.sh"

[[language]]
name = "c-sharp"
language-servers = ["omniwrapper"]