Of nvim, IntelliJ, VsCode, [open to other IDEs too] which one currently has the best IDE support for Haskell ? I have a project that builds with cabal build. The features I care about are, from most to least important, are:
Haskell Language Server is the most extensive IDE engine. I say IDE engine because it supports the language server protocol which means you can use it with visual studio code, vim and emacs (and perhaps other editors too).
It supports 0,1,2,3 of your checklist. Point 4 is not supported yet. And with 1 it should be noted that it can only jump to definitions in the same project.