Released 2.2.5 of lsp_server which seems to fix that issue for neovim.
The problem was I was setting some capabilities to false, when the keys should’ve just been omitted…the spec isn’t particularly consistent on that & Emacs’ lsp-mode is a little too lenient, it seems.
It is happening only with some prolog source files, and not with others. It is also happening with 2.2.4… Is there a way I can enable logging to get more info?
Thanks! I just ran the log and this is the error I am getting:
ug 03 15:50:37 light prolog_lsp[458383]: /home/h/qq.pl:59:12: Quasi quotation syntax asm:asm is not defined
Aug 03 15:50:37 light prolog_lsp[458383]: /home/h/qq.pl:81:12: Quasi quotation syntax asm:asm is not defined
Aug 03 15:50:37 light prolog_lsp[458383]: error handling msg error(type_error(text,Quasi quotation syntax ~q:~q is not defined-[asm,asm]),context(system:atomic_list_concat/2,_36782))
So it’s getting stuck because it is not loading the quasi quotation syntax parser ( which works fine outside the lsp_server).
The two errors above are inside a :- begin_tests(...) :- end_tests(...) block which uses the quasi-quotation.
Ah, quasiquotes! Indeed, I haven’t been testing those, thanks for finding that! I’ll look in to fixing that, hopefully tomorrow.
One of the big limitations with how the server is implemented is that it doesn’t actually load the code, just tries to use static analysis. I’ve been considering changing that soon, since it would make this sort of dynamic syntax much more feasible.
I’ve released 2.2.6 of lsp_server which should at least not get stuck on quasiquotes. It unfortunately will flag custom quasiquotes as errors, but I will work on fixing that as well.
EDIT: it looks like the presence of an unknown quasiquote is breaking semantic colouring too…
Thanks! I am running it now and it is showing the Singleton warnings again. It shows the quasi-quotes as errors, like you said, but at least we have the other errors back. Appreciate it!
As far as I can tell, none of the neovim LSP plugins yet implement the semantic tokens capabilities. The version of the LSP spec that adds semantic tokens still isn’t officially released yet though, so presumably after that, clients will start to support it.