I personally use nixpkgs-haskell-overlay and vim-addon-haskell which can run cabal. The nixpkgs-haskell-overlay implementation is prototype implementation (see wiki) and can tag haskell sources (using hasktags). You then source an env var which sets an environment var pointing to tag files. There are alternative solutions, too Marc Weber