Description
Clients provide servers with lots of information about what features they support. But it's very easy for the server to just ignore this and send the client things that they may not understand.
Now, I think this is usually fine because usually this just means the server sends extra fields, which the client will ignore. But in some cases it can be important: for example if you send documentChanges
in WorkspaceEdit
to a client that only supports changes
, then it may do nothing.
What I was thinking is that we could write, for each client capability, a "linter" that checks certain messages to see if they contain fields that the client hasn't stated that they support. Then we could, e.g. emit warnings if we see such fields, helping server authors notice if they're not honouring client capabilities.
Metadata
Metadata
Assignees
Type
Projects
Status