I don’t know, using Vim and Exuberant Ctags can give you a significant part of these features for a very lower footprint. But to be clear, it’s not a ready-to-go path on parity with DX that IntelliJ provides.
Hackers are often exceptionally good at optimizing the hidden parts no one give a shit until everything crumble under systemic slowness, but they often also are very bad at designing even a decent UX for everything else regarding in-your-face aspects.
For the record Neovim has built-in LSP support and Vim supports LSP with plugins. Why use Ctags that you have to manually generate?
>I don’t know, using Vim and Exuberant Ctags can give you a significant part of these features for a very lower footprint.
100% true.
Also, the problem I have with these magic thingies is that I don't know what to do if the magic stops working. With tools that just does one thing, I can easily figure out the point of failure and fix it.
When I worked as a Scala developer years ago, I still used JetBrains IDEs for some things but I did most of my work in Emacs using ENSIME and ggtags/xref as a fallback. I ended up using ggtags elsewhere as well, and was pretty impressed with both how far it got me and how fast it was.