Hey all,
What can I say, after few hours of on and off tinkering I got it to work!
The hover information is incredibly helpful, as is jump to definition. It works even in modules with type and name errors!
The error information not so much (yet), at least not compared to the shorter feedback loop of using ghcid.
Haven't used completions in anger yet, but it works quite well when fooling around with it.
Great work, Zubin and Matthew! :)
As to my setup: I'm using VSCode Remote, so the language server will run on my build VM which VSCode communicates with via SSH.
I'm using nix+home-manager to manage my configuration over there, so I had to wrap the hie executable with the following script:
#! /usr/bin/env bash
. /etc/profile.d/nix.sh
nix-shell --pure /path/to/ghc.nix/ --run /path/to/haskell-ide-engine/dist-newstyle/build/x86_64-linux/ghc-8.6.4/haskell-ide-engine-1.0.0.0/x/hie/build/hie/hie
Also the shellHook echo output from ghc.nix confuses the language server protocol, so be sure to delete those 4 lines from ghc.nix/default.nix.
It takes quite a while to initialise the first time around. Be sure to look at the output of the alanz.vscode-hie-server extension to see if there's any progress being made.
Can only encourage you to try this out!
Best,
Sebastian