Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement window/showMessageRequest in LSP client #4699

Open
ckipp01 opened this issue Nov 10, 2022 · 2 comments · May be fixed by #5492
Open

Implement window/showMessageRequest in LSP client #4699

ckipp01 opened this issue Nov 10, 2022 · 2 comments · May be fixed by #5492
Labels
A-language-server Area: Language server client C-enhancement Category: Improvements

Comments

@ckipp01
Copy link
Contributor

ckipp01 commented Nov 10, 2022

Some servers will make use of this. You can see it in the spec here. An example of a server that uses this is Metals, which is the language server for Scala. We use this when a user first opens up a workspace to prompt them to import the workspace. A request looks like this:

[Trace - 03:48:41 pm] Sending request 'window/showMessageRequest - (2)'
Params: {
  "actions": [
    {
      "title": "Import build"
    },
    {
      "title": "Not now"
    },
    {
      "title": "Don\u0027t show again"
    }
  ],
  "type": 3,
  "message": "New sbt workspace detected, would you like to import the build?"
}

Having support for this would be great. There's also a handful of other usecases with Metals for this request.

@ckipp01 ckipp01 added the C-enhancement Category: Improvements label Nov 10, 2022
@the-mikedavis the-mikedavis added the A-language-server Area: Language server client label Nov 10, 2022
@ayoub-benali ayoub-benali linked a pull request Jan 10, 2023 that will close this issue
4 tasks
@cringeops
Copy link

Unfortunately, the latest 23.10 release still doesn't work properly with ansible-language-server.

2024-02-10T14:05:07.568 helix_term::application [ERROR] Language Server: Method window/showMessageRequest not found in request 3
2024-02-10T14:05:07.569 helix_lsp::transport [ERROR] ansible-language-server err <- "/usr/local/lib/node_modules/@ansible/ansible-language-server/node_modules/vscode-jsonrpc/lib/common/connection.js:565\n"
2024-02-10T14:05:07.569 helix_lsp::transport [ERROR] ansible-language-server err <- "                        responsePromise.reject(new messages_1.ResponseError(error.code, error.message, error.data));\n"
2024-02-10T14:05:07.569 helix_lsp::transport [ERROR] ansible-language-server err <- "                                               ^\n"
2024-02-10T14:05:07.569 helix_lsp::transport [ERROR] ansible-language-server err <- "\n"
2024-02-10T14:05:07.569 helix_lsp::transport [ERROR] ansible-language-server err <- "ResponseError: Method not found: window/showMessageRequest\n"
2024-02-10T14:05:07.569 helix_lsp::transport [ERROR] ansible-language-server err <- "    at handleResponse (/usr/local/lib/node_modules/@ansible/ansible-language-server/node_modules/vscode-jsonrpc/lib/common/connection.js:565:48)\n"
2024-02-10T14:05:07.569 helix_lsp::transport [ERROR] ansible-language-server err <- "    at handleMessage (/usr/local/lib/node_modules/@ansible/ansible-language-server/node_modules/vscode-jsonrpc/lib/common/connection.js:345:13)\n"
2024-02-10T14:05:07.569 helix_lsp::transport [ERROR] ansible-language-server err <- "    at processMessageQueue (/usr/local/lib/node_modules/@ansible/ansible-language-server/node_modules/vscode-jsonrpc/lib/common/connection.js:362:17)\n"
2024-02-10T14:05:07.569 helix_lsp::transport [ERROR] ansible-language-server err <- "    at Immediate.<anonymous> (/usr/local/lib/node_modules/@ansible/ansible-language-server/node_modules/vscode-jsonrpc/lib/common/connection.js:334:13)\n"
2024-02-10T14:05:07.569 helix_lsp::transport [ERROR] ansible-language-server err <- "    at process.processImmediate (node:internal/timers:476:21) {\n"
2024-02-10T14:05:07.569 helix_lsp::transport [ERROR] ansible-language-server err <- "  code: -32601,\n"
2024-02-10T14:05:07.569 helix_lsp::transport [ERROR] ansible-language-server err <- "  data: undefined\n"
2024-02-10T14:05:07.569 helix_lsp::transport [ERROR] ansible-language-server err <- "}\n"
2024-02-10T14:05:07.569 helix_lsp::transport [ERROR] ansible-language-server err <- "\n"
2024-02-10T14:05:07.569 helix_lsp::transport [ERROR] ansible-language-server err <- "Node.js v18.19.0\n"
2024-02-10T14:05:07.574 helix_lsp::transport [ERROR] ansible-language-server err: <- StreamClosed
2024-02-10T14:05:07.703 helix_term::application [WARN] Ignoring a client/registerCapability request because dynamic capability registration is not enabled. Please report this upstream to the language server

@jba
Copy link

jba commented Feb 12, 2024

I'm having the same issue with gopls, which is trying to tell me about a bad config:

helix_term::application [WARN] unhandled window/showMessage: ShowMessageParams { typ: Error, message: "Invalid settings: unexpected gopls setting \"moose\"; unexpected gopls setting \"ui\"" }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-language-server Area: Language server client C-enhancement Category: Improvements
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants