Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(lsp): ignore hover and signatureHelp responses on buffer change (#…
…21121) Language servers can take some time to respond to the `textDocument/hover` and `textDocument/signatureHelp` messages. During that time, the user could have already moved to another buffer. The popup was always shown in the current buffer, which could be a different one than the buffer for which the request was sent. This was particularly annoying when moving to a buffer with a `BufLeave` autocmd, as that autocmd was triggered when the hover popup was shown for the original buffer. Ignoring the response from these 2 messages if they are for a buffer that is not the current one leads to less noise. The popup will only be shown for the buffer for which it was requested. A more robust solution could involve cancelling the hover/signatureHelp request if the buffer changes so the language server can free its resources. It could be implemented in the future.
- Loading branch information
cfdf5e6
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a way of making this opt-in or opt-out on a case-by-case basis? I wrote a plugin that does LSP things for embedded code chunks by creating hidden buffers with only the code and forwarding lps requests back and forth (https://github.com/jmbuhr/otter.nvim). This commit breaks the hover functionality because the request really comes from a different buffer, but this is intentional.
See quarto-dev/quarto-nvim#32
cfdf5e6
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
worked around this with jmbuhr/otter.nvim#19