I’ve never found language servers to work well in my experience. There’s a lot of jank from a fragile IPC interface and having the language server only to do lowest common denominator stuff. It just doesn’t feel right.
I think the only way to do it right it to give the editor language specific intelligence - easier said than done.
IPC can work fantastically well; see how Slime makes developing CL extremely slick. But last I checked the language server spec was missing some really obvious stuff like “evaluate this snippet in a repl and show me the value” so it’s hard for me to get excited about it.