https://github.com/tomatitito/stan-language-server is nearing a release. This would provide the diagnostics and formatting we already do, plus function name completion and hover documentation (and maybe more features in the future).
There is an existing monaco-languageclient package that could be used for connecting these two, but it might require switching to a different react loader for Monaco, which could be a big change.