Dear f*cking degens, for Christ sake, try to understand what are you doing and why, once in a while.

Every time I start neovim with a simple, almost default LazyVim config it starts to download a new copy of the haskell-language-server using ghcup.

Please, try to understand that this version of haskell-language-server almost certainly won’t work with an installed GHC, it works only with the version it has been compiled with.

Yes, this is another instance of a profound mass-stupidity, but this is another story. There is a hint, however. Good (well, not completely retarded) language servers would use an underlying compiler’s API (just like clangd does) and thus it is usually coupled to an installed system compiler, which is managed by an OS package manager. Do you get it?

At least provide an easy, explicit way to opt out and to use already properly installed tools. Good Linux distros maintain language servers together with the compilers.

So, clangd and other tools, rust-analyzer, gopls, and especially hls has to be installed by a package manager, not by Mason.

Ocaml’s and F# ecosystems prefer to manage their tools too (everything is compiled with the installed toolchain), which is okay when we understand what they are doing and why.

Please, unfuck this, or at least learn not to spawn multiple copies which miss or ignore the locks.

29077 ? Sl 0:00 ghcup install hls 2.9.0.1 -i home/lngnmn2.l 29086 ? S 0:00 curl -fL -o home/lngnmn2.ghcup/tmp/ghcup-f4 29162 ? Ss 0:00 usr/bin/xclip -quiet -i -selection clipboard 29220 ? Sl 0:00 ghcup install hls 2.9.0.1 -i /home/lngnmn2.l 29226 ? S 0:00 curl -fL -o home/lngnmn2.ghcup/tmp/ghcup-b5