Configure a generic LSP client

Use these settings in any client that can launch a Language Server Protocol process. Setting names differ by client; the values are the portable contract.

Client settingValue
Commandmergeway-lsp
Argumentsnone, or logging flags only
Transportstdio with standard LSP Content-Length framing
File typesYAML and JSON files used by the repository
Root markersmergeway.yaml, mergeway.yml
Initialization rootthe directory containing the root marker
Synchronizationfull document, with open and close notifications

Configure the client to send a file:// URI in rootUri, or send one or more file-URI entries in workspaceFolders. When workspaceFolders is non-empty it is authoritative and rootUri/legacy rootPath are ignored. The server checks each supplied directory directly; the client must find the marker rather than expecting the server to search parent directories.

Do not configure a TCP port, socket, or HTTP endpoint. Do not merge the server’s standard error into standard output: stdout carries protocol frames only.

Verify the connection

Open a configured record and confirm the initialization result names mergeway-lsp. The client should see these providers:

completion, hover, definition, references,
document symbols, workspace symbols, code actions

Change a required string field to a number without saving. A working client publishes an error with source mergeway and code schema; undoing the edit clears it. The repository’s saved errors are also published during initialization.

The server accepts normal LSP lifecycle and feature messages but does not claim every optional method or a particular LSP specification revision. Integrate against the advertised capabilities, not the dependency version.