Whew, let me tell you. Chime has used three different Go language servers, as well as custom stuff. Every server was different, with different behavior, performance characteristics, and supporting different feature sets in different ways. And that was just for Go! I cannot imagine how it is for other languages.
Offering high-quality language support takes a lot of work, per-language and even per-server.