lsp 2024-11-22

For some reason I seem to only get keyword completions from LSP for the current file in .cljs files. I am using doom-emacs and fixed this by combining lsp and cider autocompletion with capf with some help from @ag. Is this expected behavior or might this be a configuration error?

Just to make sure I understand correctly if I have a file somewhere in my project with the keyword :foo should I expect to get autocompletion for :foo if I am in a different file in the same project? Because I just tried nvim with LSP and I notice the same behavior I cannot easily get autocompletion for all keywords in the project (it only works if they are in the same file). With cider I do get all keywords so I currently combine the autcompletion with clojure-lsp but that gives me a lot of double results when autocompleting. I am coming from cursive where I can basically type : and then it already starts autcompleting all keywords from the project + libraries.

Am I understanding this correctly @ericdallo?

Yes, I can't recall why in the past we decided that we would only provide simple keywords (not aliased or namespaced) for the same namespace (https://github.com/clojure-lsp/clojure-lsp/blob/1e0a34ec65f6a8d92492a15c436c2a43325f06aa/lib/src/clojure_lsp/feature/completion.clj#L472-L473), that's how it works currently, but I can see how convenient should be provide all, feel free to create a issue about it. About the cljs completion, I think it's a bug, feel free to create another one about it

I will create one for the provide all keywords, and the cljs stuff works fine (I was just expected something else). Thank you so much for your time @ericdallo. Truly an amazing project.

πŸ‘ 1

Merged, it should be available soon in #clojure-lsp-builds, thanks for the help

πŸ‘Œ 1

can you provide a code snippet or sample project? or even better, check if it happens on https://github.com/ericdallo/clojure-sample/tree/basic-cljs

I'll try that project out then

I get nothing

And this is for example a function

Interesting now I get some completion for :name for some reason

I am using Corfu so with orderless so maybe that is the issue

you can check server logs to see if clojure-lsp is returning properly and not a emacs issue

Will do thank you

check completion-at-point-functions value in the buffer

That is the one I created with your help πŸ˜‰

(cape-cider-lsp-yas cape-file t)

instrument it with edebug and see what's going on, I dunno

I am going to try a clean install of LSP without the default doom-emacs config to see if that works

It seems that the orderless option in corfu breaks some stuff since I disabled that I get a lot more options

At least for a :keyword/ I get all the options after the /

is typescript support on emacs exactly like vscode's lsp offering? Or does Microsoft not license that tech outside vscode? (I think I read something like that, but it may have been for python)

it apparently does do a number of things beyond what the lsp does, but the lsp still has a lot

βœ… 1

someone even wrapped the full extension in an LSP https://github.com/yioneko/vtsls

πŸ‘€ 1

It ain’t bad, I think?

I’m missing a proper paredit thingy, but other than that, I get the type errors and the quick fixes and stuff

much useful - thanks!

AFAIK ts lsp is pretty complete

βœ… 1