3 ms·
I read the almost the whole thread and it does not seem to be an LSP issue. As far as I can tell, the issue is purely corfu and eglot disagreeing about the sema
by gpderetta 3y ago
I read the almost the whole thread and it does not seem to be an LSP issue. As far as I can tell, the issue is purely corfu and eglot disagreeing about the semantics of internal emacs completion hooks they use to communicate and whether corfu should cache on its side or should rely on eglot. Company does not have this impedance mismatch with elgot so it works fine.
- craftkiller 3y agoThere are actually two separate issues in the thread: 1. The issue you identified which is about caching. It seems you can work around this issue by using a cache busting hook from cape. 2. An unsolved issue where eglot and LSP get out of sync which seems strongly correlated with using corfu. I've been experiencing this a lot with eglot+corfu+rust-analyzer. I'd estimate about once per hour I'll notice that things are just wrong, as in red underlines in nonsense places with nonsense error messages and completion no longer working or working incorrectly. Running a M-x eglot-reconnect "solves" the issue for another ~1 hour. The way these two issues were related is the author of eglot states that they have sunk considerable time investigating issue #2 with no success, and they argue that it is not worth their limited time to continue investigating #2 when corfu is broken by design[^] w.r.t. #1. And yes, I'd agree that this doesn't seem to be an LSP issue but rather an issue solely on the client side. [^] https://github.com/joaotavora/eglot/discussions/1127#discussioncomment-5431683 https://github.com/joaotavora/eglot/discussions/1127#discuss...