aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp/util.lua
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/lua/vim/lsp/util.lua')
-rw-r--r--runtime/lua/vim/lsp/util.lua6
1 files changed, 6 insertions, 0 deletions
diff --git a/runtime/lua/vim/lsp/util.lua b/runtime/lua/vim/lsp/util.lua
index 4d3071fd68..738e23ff28 100644
--- a/runtime/lua/vim/lsp/util.lua
+++ b/runtime/lua/vim/lsp/util.lua
@@ -1002,6 +1002,12 @@ function M.convert_signature_help_to_markdown_lines(signature_help, ft, triggers
end
list_extend(contents, split(label, '\n', { plain = true }))
if signature.documentation then
+ -- if LSP returns plain string, we treat it as plaintext. This avoids
+ -- special characters like underscore or similar from being interpreted
+ -- as markdown font modifiers
+ if type(signature.documentation) == 'string' then
+ signature.documentation = { kind = 'plaintext', value = signature.documentation }
+ end
M.convert_input_to_markdown_lines(signature.documentation, contents)
end
if signature.parameters and #signature.parameters > 0 then