mirror of
https://github.com/neovim/neovim.git
synced 2025-11-24 03:00:38 +00:00
lsp: remove popup No signature available. (#12915)
* lsp: remove popup No signature available.
If no signatures. we shouldn't popup No signature available ..It will make noise when use
` api.nvim_command("autocmd CompleteDone <buffer> lua vim.lsp.buf.signature_help()")`
* fix ci test failed remove whitespace
* print message when no signature help
* Add comment
This commit is contained in:
@@ -229,16 +229,19 @@ M['textDocument/implementation'] = location_callback
|
|||||||
|
|
||||||
--@see https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_signatureHelp
|
--@see https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_signatureHelp
|
||||||
M['textDocument/signatureHelp'] = function(_, method, result)
|
M['textDocument/signatureHelp'] = function(_, method, result)
|
||||||
|
-- When use `autocmd CompleteDone <silent><buffer> lua vim.lsp.buf.signature_help()` to call signatureHelp callback
|
||||||
|
-- If the completion item doesn't have signatures It will make noise. Change to use `print` that can use `<silent>` to ignore
|
||||||
|
if not (result and result.signatures and result.signatures[1]) then
|
||||||
|
print('No signature help available')
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local lines = util.convert_signature_help_to_markdown_lines(result)
|
||||||
|
lines = util.trim_empty_lines(lines)
|
||||||
|
if vim.tbl_isempty(lines) then
|
||||||
|
print('No signature help available')
|
||||||
|
return
|
||||||
|
end
|
||||||
util.focusable_preview(method, function()
|
util.focusable_preview(method, function()
|
||||||
if not (result and result.signatures and result.signatures[1]) then
|
|
||||||
return { 'No signature available' }
|
|
||||||
end
|
|
||||||
-- TODO show popup when signatures is empty?
|
|
||||||
local lines = util.convert_signature_help_to_markdown_lines(result)
|
|
||||||
lines = util.trim_empty_lines(lines)
|
|
||||||
if vim.tbl_isempty(lines) then
|
|
||||||
return { 'No signature available' }
|
|
||||||
end
|
|
||||||
return lines, util.try_trim_markdown_code_blocks(lines)
|
return lines, util.try_trim_markdown_code_blocks(lines)
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user