It appears LSP is not actually a "standard", just something Microsoft is
making available; it is totally controlled by Microsoft. I'd be happier
if they turned it over to some standards org (FSF, ISO, IEEE, ...).
The funniest part is that the developers of the server most of the time do not care much about the standard but only whether it works with vscode. To give you an example, when receiving the completion results the client is supposed to calculate the prefix and filter against it. In html file if you have <foo it will calculate the prefix foo but if you are in xml file and you want to complete <foo the prefix to match against is <foo. So, if we want to work against these servers we have to implement the vscode's bizarre behaviour.