This workshop lets you practice using the haskell-language-server on a file designed to showcase the features in the 1.4 release.
You get in-editor type errors. It's like ghcid or manually running a compile, but without the context switch, as you type.
Read the manual for installation, or follow the instructions below.
Install ghcup, then use ghcup to install ghc 8.10.7 and haskell-language-server 1.4
If you want to use nix, a quick way is: nix-shell -p cookiecutter git --run 'cookiecutter gh:utdemir/hs-nix-template'
and then change directory into your generated project and niv update nixpkgs -b nixpkgs-unstable
.
Then you'll have the latest ghc and haskell-language-server in scope.
All the cool things in the haskell language server features list.
You probably want to look at the Examples file.
Many fun things on the lsp-mode website.
How does all this cool stuff go?
It's the haskell-language-server ! You too can write an amazing plugin to do whatever cool things come to mind. Check out the existing plugins
The case splitting magic is from wingman. Wingman wraps the program synthesis library refinery.
You can see Sandy Maguire using wingman with custom tactics in his 2021 ZuriHac talk.