sending: {"params": {"textDocument": {"text": "<foo/> \n\n", ...}}, "jsonrpc": "2.0", "method": "textDocument/didOpen"}
sending: {"params": {"textDocument": {"uri": "file:///tmp/test.xml"}, "options": {..., "trimTrailingWhitespace": false, ...}}, "jsonrpc": "2.0", "id": 1, "method": "textDocument/formatting"}
{u'jsonrpc': u'2.0', u'id': 1, u'result': [{u'newText': u'<foo/>\n', u'range': {u'start': {u'line': 0, u'character': 0}, u'end': {u'line': 2, u'character': 0}}}]}
sending: {"params": {"processId": null, "initializationOptions": {"settings": {"xml": {"catalogs": [], "logs": {"client": true, "file": "/tmp/xml.log"}, "trace": {"server": "verbose"}}}}, "workspaceFolders": null, "trace": null, "rootUri": null, "rootPath": null, "capabilities": {}}, "jsonrpc": "2.0", "id": 0, "method": "initialize"}
Jul 20, 2020 4:30:21 PM org.eclipse.lemminx.XMLLanguageServer initialize
INFO: Initializing XML Language server
LemMinX Server info:
- Version : 0.13.1
- Java : /usr/lib/jvm/java-8-openjdk-amd64/jre
- Git 3c6c0de - [maven-release-plugin] prepare release 0.13.1
Content-Length: 612
recieved message: {u'jsonrpc': u'2.0', u'id': 0, u'result': {u'capabilities': {u'renameProvider': True, u'foldingRangeProvider': True, u'typeDefinitionProvider': True, u'hoverProvider': True, u'definitionProvider': True, u'documentRangeFormattingProvider': True, u'codeLensProvider': {u'resolveProvider': False}, u'referencesProvider': True, u'documentLinkProvider': {u'resolveProvider': True}, u'textDocumentSync': 2, u'documentFormattingProvider': True, u'codeActionProvider': True, u'completionProvider': {u'triggerCharacters': [u'.', u':', u'<', u'"', u'=', u'/', u'\\', u'?', u"'", u'&'], u'resolveProvider': False}, u'documentSymbolProvider': True, u'documentHighlightProvider': True}}}
{u'jsonrpc': u'2.0', u'id': 0, u'result': {u'capabilities': {u'renameProvider': True, u'foldingRangeProvider': True, u'typeDefinitionProvider': True, u'hoverProvider': True, u'definitionProvider': True, u'documentRangeFormattingProvider': True, u'codeLensProvider': {u'resolveProvider': False}, u'referencesProvider': True, u'documentLinkProvider': {u'resolveProvider': True}, u'textDocumentSync': 2, u'documentFormattingProvider': True, u'codeActionProvider': True, u'completionProvider': {u'triggerCharacters': [u'.', u':', u'<', u'"', u'=', u'/', u'\\', u'?', u"'", u'&'], u'resolveProvider': False}, u'documentSymbolProvider': True, u'documentHighlightProvider': True}}}
{u'capabilities': {u'renameProvider': True, u'foldingRangeProvider': True, u'typeDefinitionProvider': True, u'hoverProvider': True, u'definitionProvider': True, u'documentRangeFormattingProvider': True, u'codeLensProvider': {u'resolveProvider': False}, u'referencesProvider': True, u'documentLinkProvider': {u'resolveProvider': True}, u'textDocumentSync': 2, u'documentFormattingProvider': True, u'codeActionProvider': True, u'completionProvider': {u'triggerCharacters': [u'.', u':', u'<', u'"', u'=', u'/', u'\\', u'?', u"'", u'&'], u'resolveProvider': False}, u'documentSymbolProvider': True, u'documentHighlightProvider': True}}
sending: {"params": {"textDocument": {"text": "<foo/> \n\n", "version": 1, "uri": "file:///tmp/test.xml", "languageId": "xml"}}, "jsonrpc": "2.0", "method": "textDocument/didOpen"}
None
sending: {"params": {"textDocument": {"uri": "file:///tmp/test.xml"}, "options": {"preserveAttributeLineBreaks": true, "preservedNewlines": 5, "tabSize": 4, "trimTrailingWhitespace": false, "formatComments": false, "spaceBeforeEmptyCloseTag": false, "enabled": true, "insertSpaces": true, "preserveEmptyContent": true, "insertFinalNewline": true}}, "jsonrpc": "2.0", "id": 1, "method": "textDocument/formatting"}
Content-Length: 142
recieved message: {u'jsonrpc': u'2.0', u'id': 1, u'result': [{u'newText': u'<foo/>\n', u'range': {u'start': {u'line': 0, u'character': 0}, u'end': {u'line': 2, u'character': 0}}}]}
{u'jsonrpc': u'2.0', u'id': 1, u'result': [{u'newText': u'<foo/>\n', u'range': {u'start': {u'line': 0, u'character': 0}, u'end': {u'line': 2, u'character': 0}}}]}
Content-Length: 323
recieved message: {u'params': {u'uri': u'file:///tmp/test.xml', u'diagnostics': [{u'source': u'file:///tmp/test.xml', u'range': {u'start': {u'line': 0, u'character': 1}, u'end': {u'line': 0, u'character': 4}}, u'code': u'NoGrammarConstraints', u'message': u'No grammar constraints (DTD or XML Schema).', u'severity': 4}]}, u'jsonrpc': u'2.0', u'method': u'textDocument/publishDiagnostics'}
{u'params': {u'uri': u'file:///tmp/test.xml', u'diagnostics': [{u'source': u'file:///tmp/test.xml', u'range': {u'start': {u'line': 0, u'character': 1}, u'end': {u'line': 0, u'character': 4}}, u'code': u'NoGrammarConstraints', u'message': u'No grammar constraints (DTD or XML Schema).', u'severity': 4}]}, u'jsonrpc': u'2.0', u'method': u'textDocument/publishDiagnostics'}
sending: {"params": {}, "jsonrpc": "2.0", "id": 2, "method": "shutdown"}
Content-Length: 36
recieved message: {u'jsonrpc': u'2.0', u'id': 2, u'result': {}}
{u'jsonrpc': u'2.0', u'id': 2, u'result': {}}
{}
sending: {"params": {}, "jsonrpc": "2.0", "method": "exit"}
In short:
Here is a full listings of communications (I'm using pylspclient in a Python script):