A language server's question

picker-lsp-message-request: a language server is asking you a question — pick an answer, or <Esc> to answer none.

On this page

Sometimes a language server needs a decision — "Reload the workspace?", "Which toolchain?" — and sends a message with buttons (window/showMessageRequest). The buttons open here, titled [<server>] <the message>.


Keys in this picker

KeyHere
<CR>Answer with the selected choice
<Esc> / <C-c>Answer none — the server is told you dismissed it
(type)Filter the choices
<C-n> / <C-p>, <Down> / <Up>, <Tab> / <S-Tab>Move the selection
<C-h>This page

Either way the server gets an answer, so it is never left waiting. Nothing else does anything here.


What is listed

The server's choices, numbered in the order it sent them: 1. Reload, 2. Later. A message with no choices does not open a picker; it is shown as a message and logged.

One question at a time. If a picker is already open when a server asks, the question waits and opens when you are done; several waiting questions open one after another.


See also

  • lsp — the language-server integration.
  • lsp-log-mode — where every server message is recorded.