You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Client capabilities in the LSP are usually specified as an optional wrapper around a boolean value, e.g. the workspaceEdit capability in WorkspaceClientCapabilities is a wrapper around a documentChanges boolean. The possible values here are: wrapper around true, wrapper around false, or a non-existent or null value to indicate the capability is not supported/recognised.
I observe that the default behaviour of the SupportsConverter is to always provide the value false instead of null when the capability is not supported. This makes the OmniSharp protocol implementation incompatible with language server implementations that expect an object wrapper around a boolean (instead of just a boolean) in capability fields such as WorkspaceClientCapabilities.workspaceEdit.
The example where I observed this incompatibility used Eclipse LSP4J for the server, and the .NET language client (which relies on OmniSharp for the protocol implementation) as the client.