WorkspaceDiagnosticsHandler generate bogus ranges from error markers
When workspace errors are reported through WorkspaceDiagnosticsHandler, incorrect ranges are sent to the client.
This is caused by calculating the ranges from IMarker.CHAR_START and IMarker.CHAR_END, which are offsets from the start of the document, not from the line.