Since LSP is language-agnostic, multilspy can provide the results for static analyses of code in different languages over a common interface. multilspy is easily extensible to any language that has a Language Server and currently supports Java, Rust, C# and Python and we aim to support more language servers.
Some of the analyses results that multilspy can provide are:
Finding the definition of a function or a class (textDocument/definition) Finding the callers of a function or the instantiations of a class (textDocument/references) Providing type-based dereference completions (textDocument/completion) Getting information displayed when hovering over symbols, like method signature (textDocument/hover) Getting list/tree of all symbols defined in a given file, along with symbol type like class, method, etc. (textDocument/documentSymbol)