This package can parse Markdown in hover/completion/signature:
|
if (contents.kind === "markdown") { |
|
value = marked.parse(value); |
|
} |
Yet, it requests plaintext over markdown in all the cases:
|
documentationFormat: ["plaintext", "markdown"], |
|
documentationFormat: ["plaintext", "markdown"], |
|
contentFormat: ["plaintext", "markdown"], |
which leads to sub-optimal user experience when used with servers complying with LSP specification which says:
The order describes the preferred format of the client
for each of these, e.g. https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#completionClientCapabilities
This is because servers will correctly return plaintext response in these cases. Moreover, plain text is not being correctly escaped resulting in jumbled up text
This package can parse Markdown in hover/completion/signature:
codemirror-languageserver/src/index.ts
Lines 612 to 614 in d8c88a4
Yet, it requests
plaintextovermarkdownin all the cases:codemirror-languageserver/src/index.ts
Line 143 in d8c88a4
codemirror-languageserver/src/index.ts
Line 152 in d8c88a4
codemirror-languageserver/src/index.ts
Line 129 in d8c88a4
which leads to sub-optimal user experience when used with servers complying with LSP specification which says:
for each of these, e.g. https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#completionClientCapabilities
This is because servers will correctly return plaintext response in these cases. Moreover, plain text is not being correctly escaped resulting in jumbled up text