"no client attached" error
igorsol opened this issue · 5 comments
When I try to execute any fzf-lsp command I get the following error:
LSP: no client attached
Tried this with C++ and Rust code. CocInfo shows that LSP service was successfully started. LSP-based commands and services from other plugins seem to work.
Please help me to debug this issue.
Update: typo in error message fixed
It's a bit hard with this information, can you please tell me if:
- "LSP: no client installed" is this the exact message you receive? because i don't send this message inside the plugin
- if you call the vim command
:lua vim.lsp.buf.document_symbol()
, what happen? Is it working? - The language servers are reachable in the
PATH
? Taking the example of rust, if you callwhich rust-analyzer
it gives you the file path?
- "LSP: no client installed" is this the exact message you receive? because i don't send this message inside the plugin
Sorry, that was a typo. Correct message is "no client attached"
- if you call the vim command
:lua vim.lsp.buf.document_symbol()
, what happen? Is it working?
Nothing happens. No visible effects of this command.
- The language servers are reachable in the
PATH
? Taking the example of rust, if you callwhich rust-analyzer
it gives you the file path?
Well, rust-analyzer is not on PATH. It is installed by coc-rust-analyzer into ~/.config/coc/extensions/coc-rust-analyzer-data/
.
But for C++ I use ccls
language server and it is on PATH.
Sorry, that was a typo. Correct message is "no client attached"
So ok, i think the problem should relay on the fact that language server is installed with coc and not in a "standard way" and the neovim lsp system is not able to interact with the language servers. This should not be a problem with fzf-lsp but with the general neovim / system configuration
Nothing happens. No visible effects of this command.
This confirms to me the statement i made before
Well, rust-analyzer is not on PATH. It is installed by coc-rust-analyzer into
~/.config/coc/extensions/coc-rust-analyzer-data/
You can try adding it to the system PATH and see if it works
But for C++ I use ccls language server and it is on PATH.
I'm sorry i'm not used with this language server, they should all behave in the same way but if we stick with rust-analyzer
as i'm more familiar to it, it'll be better for debugging
To recap everything the fact that this command :lua vim.lsp.buf.document_symbol()
doesn't give you a result confirms to me that the problem is not from the fzf-lsp plugin but a general configuration problem.
If you need some help installing the language servers you can try with this plugin: https://github.com/kabouzeid/nvim-lspinstall
You can check if the language serve are correctly configured opening a file and launcing the command :LspInfo
If you get a result like:
Language client log: /home/gfanto/.cache/nvim/lsp.log
Detected filetype: go
1 client(s) attached to this buffer:
Client: gopls (id: 1, pid: 616803, bufnr: [4, 15, 41])
filetypes: go, gomod, gotmpl
autostart: true
root directory: /home/gfanto/workspace/lamarzocco-gateway-pro
cmd: gopls
Configured servers list: rust_analyzer, tsserver, html, cssls, gopls, clangd, vimls, sumneko_lua, pyright
it should be ok, and fzf-lsp should work.
Thank you for the detailed response.
I added neovim/nvim-lspconfig
plugin to get LspInfo
command. This command show that "0 clients attached to the buffer". Obviously LspInfo
only knows about language servers installed/configured via Neovim's built-in LSP. In my case I have language servers installed as COC mini plugins.
So fzf-lsp only supports language servers installed via Neovim's builtin LSP.
So to resolve this issue I need to throw out my COC config and create new one based on built-in LSP. Well, maybe I will do this one day when I will have enough time.
So to resolve this issue I need to throw out my COC config and create new one based on built-in LSP. Well, maybe I will do this one day when I will have enough time.
Yes, unfortunately this is the way to go and, like you said it's a matter of having time to do it.