emacs-lsp: https://github.com/emacs-lsp/lsp-mode is *really* good. Every time I play with it, it's improved. I've been playing with rust-analyzer today and everything just works: hover types, interactive code refactorings, the whole shebang.