I am trying to get YouCompleteMe in NeoVim to play nice with LanguageServer.jl, but it does not work for me. My log files say that the Julia language server crashes. I tried with Julia 1.7 and (after reading this issue) with 1.6, but to no avail. Different errors pop up, but all involve the JSONRPC package. Could you share the Manifest of your Julia environment that runs language server? I would like to try with the exact same versions.
I just try it and it still works using ycm for julia 1.6 if you follow https://github.com/ycm-core/lsp-examples but it is horribly slow and consumes lots of CPU when starting(I wait for 1min).
Actually, I find I actually don’t need julia lsp to write julialang.
Gutentags and tag completion are nice for a project.
OhMyREPL and vim-slime(lots of similar plugins) are nice for REPL.
then I first tried with the config you posted. It did not work. then I tried to follow some other guides and ran ./install.py --enable-julia in lsp-examples, which suggested to source ~/.local/share/nvim/plugged/lsp-examples/vimrc.generated. which has the following config
I have then tried using Plug 'autozimu/LanguageClient-neovim' but that did not work either. So I am assuming I am missing a very basic step, which I cannot figure out on my own.
% cat ycmd_54423_stderr_e1g9hzuu.log
2022-04-12 14:58:50,561 - INFO - Completion config: 50, detailing -1 candiates
2022-04-12 14:58:50,562 - INFO - Completion config: 50, detailing -1 candiates
2022-04-12 14:58:50,562 - INFO - Completion config: 50, detailing -1 candiates
2022-04-12 14:58:50,563 - INFO - Completion config: 50, detailing -1 candiates
127.0.0.1 - - [12/Apr/2022 14:58:50] "GET /ready HTTP/1.1" 200 4
127.0.0.1 - - [12/Apr/2022 14:58:50] "GET /signature_help_available?subserver=vim HTTP/1.1" 200 18
2022-04-12 14:58:50,612 - ERROR - Semantic completion not available for ['vim']
Traceback (most recent call last):
File "~/.local/share/nvim/plugged/YouCompleteMe/third_party/ycmd/ycmd/server_state.py", line 106, in FiletypeCompletionAvailable
self.GetFiletypeCompleter( filetypes )
File "~/.local/share/nvim/plugged/YouCompleteMe/third_party/ycmd/ycmd/server_state.py", line 91, in GetFiletypeCompleter
raise ValueError(
ValueError: No semantic completer exists for filetypes: ['vim']
127.0.0.1 - - [12/Apr/2022 14:58:50] "POST /event_notification HTTP/1.1" 200 2
2022-04-12 14:58:50,620 - INFO - Adding buffer identifiers for file: ~/.config/nvim/init.vim
2022-04-12 14:58:50,623 - ERROR - Semantic completion not available for ['vim']
Traceback (most recent call last):
File "~/.local/share/nvim/plugged/YouCompleteMe/third_party/ycmd/ycmd/server_state.py", line 106, in FiletypeCompletionAvailable
self.GetFiletypeCompleter( filetypes )
File "~/.local/share/nvim/plugged/YouCompleteMe/third_party/ycmd/ycmd/server_state.py", line 91, in GetFiletypeCompleter
raise ValueError(
ValueError: No semantic completer exists for filetypes: ['vim']
127.0.0.1 - - [12/Apr/2022 14:58:50] "POST /event_notification HTTP/1.1" 200 2
127.0.0.1 - - [12/Apr/2022 14:58:50] "POST /receive_messages HTTP/1.1" 200 5
2022-04-12 14:58:50,728 - ERROR - Semantic completion not available for ['vim']
Traceback (most recent call last):
File "~/.local/share/nvim/plugged/YouCompleteMe/third_party/ycmd/ycmd/server_state.py", line 106, in FiletypeCompletionAvailable
self.GetFiletypeCompleter( filetypes )
File "~/.local/share/nvim/plugged/YouCompleteMe/third_party/ycmd/ycmd/server_state.py", line 91, in GetFiletypeCompleter
raise ValueError(
ValueError: No semantic completer exists for filetypes: ['vim']
127.0.0.1 - - [12/Apr/2022 14:58:50] "POST /semantic_completion_available HTTP/1.1" 200 5
% cat ycmd_54423_stdout_557d38wt.log
serving on http://localhost:54423
% cat ycm_ik9n26h_.log
2022-04-12 04:59:18,561 - ERROR - The ycmd server SHUT DOWN (restart with ':YcmRestartServer'). Unexpected exit code 0. Type ':YcmToggleLogs ycmd_38959_stderr_r1z7u8c7.log' to check the logs.
1st, I’m using Julia v1.7.2 and vim8.2. I’m not sure whether it’s suitable for neovim. But I guess it should work.
2nd, don’t use the config you posted.
If you @doc LanguageServer.LanguageServerInstance, you will find how to use LanguageServerInstance. Or if the doc is not right, then you should check the source code of LanguageServer, which is not hard if you use ctags. It may be not the ycm team’s fault, LanguageServer’s API may have often been changed.
And I suggest you split your julia config as I do because it’s convenient to modify. Note: without the -e.
3rd, the log ValueError: No semantic completer exists for filetypes: ['vim']
confuses me.
Does lsp-examples work for other languages?