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

Async job failed: request timed out when using open workspace symbol picker in Helix #54

Closed
David-Else opened this issue Aug 24, 2022 · 7 comments

Comments

@David-Else
Copy link

I have a directory full of all sorts of random things, including markdown files. It has a .git repo initialized at the root.

If I cd into it and open a markdown file with headings, the space e - open symbol picker works like a charm with the headings!

Unfortunately if I choose space E - open workspace symbol picker then the language server hangs, and I get Async job failed, request timed out appearing randomly in red at the bottom of the screen. I need to restart Helix to get marksman working again.

@artempyanykh
Copy link
Owner

@David-Else thanks for reporting this!

  1. Is it Helix specific or you observe the same behavior in neovim?
  2. Do you have .gitignore that ignores e.g. node_modues and other sorts of unwanted stuff?
  3. How many .md files do you have inside the repository?

@artempyanykh
Copy link
Owner

Oh, totally forgot! @David-Else what's marksman --version you have?

@David-Else
Copy link
Author

David-Else commented Aug 24, 2022

marksman --version
1.0.0

but I don't think this is true? I downloaded 2022-08-19

  • There is no .gitignore or node_modules
  • only 2 .md files

I don't think Neovim can show symbols? I don't have any plugin that does that, if there is a command I can run that is no problem to report the result.

**EDIT here is my LSP config, can I use anything I have there? https://github.com/David-Else/developer-workstation-setup-script/blob/main/dotfiles/neovim/.config/nvim/lua/user/lsp.lua

**EDIT I am using the very latest Helix from master

@artempyanykh
Copy link
Owner

Thanks @David-Else! Would you try a new release https://github.com/artempyanykh/marksman/releases/tag/2022-08-24?

Since there's just 2 files files it's unlikely a performance problem. If the newer version doesn't fix the problem, one thing you could try is to change the extension of one of the 2 .md files to something non-.md to see if it's any particular file causing the trouble.

I don't think Neovim can show symbols?

Yeah, you're right. I use Telescope for this:

  vim.keymap.set("n", "<leader>i", '<cmd>Telescope lsp_document_symbols<CR>', { buffer = bufnr })
  vim.keymap.set("n", "<leader>I", '<cmd>Telescope lsp_workspace_symbols<CR>', { buffer = bufnr })

Let's scratch neovim. I can build Helix from master.

@David-Else
Copy link
Author

The new version works, you are a genius! :)

@artempyanykh
Copy link
Owner

@David-Else happy to hear that! So, the problem seems to be that

  1. Marksman 2022-08-19 actually didn't have support for workspace symbols. I added workspace symbols a couple days ago and pushed a new release earlier today.
  2. LSP client (neovim, helix, emacs) is not supposed to send requests that the server didn't advertise as supported. But helix doesn't seem to honor server capabilities. So, when it sent workspace symbols request to Marksman 2022-08-19 it triggered a notImplemented code path which caused the problem.

@David-Else
Copy link
Author

2. LSP client (neovim, helix, emacs) is not supposed to send requests that the server didn't advertise as supported. But **`helix` doesn't seem to honor server capabilities**. So, when it sent workspace symbols request to Marksman 2022-08-19 it triggered a `notImplemented` code path which caused the problem.

I am sure team Helix would love to hear about this problem and fix it :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants