Skip to content

Read hlint config + show stan errors #3127

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
benjamin-thomas opened this issue Aug 28, 2022 · 13 comments
Closed

Read hlint config + show stan errors #3127

benjamin-thomas opened this issue Aug 28, 2022 · 13 comments
Labels
component: hls-hlint-plugin component: hls-stan-plugin type: support User support tickets, questions, help with setup etc.

Comments

@benjamin-thomas
Copy link

benjamin-thomas commented Aug 28, 2022

Hello!

I'm learning Haskell and so far the tooling really helps with its code insight features, great job ;)

I would like my tools to make me aware of the known footguns, such as partial functions, etc.

I've tried to use this hlint config file: https://github.com/NorfairKing/haskell-dangerous-functions/blob/master/hlint.yaml

And it's working fine at the command line. However vscode is not picking it up. I do get the normal hlint suggestions, however it looks like vscode does not read the config file at all.

Looking for a solution, I then understood the hlint support is baked into the lsp server. Reading this issue related to the lsp server project, I deduced that the hlint config should be read after an lsp restart. However I'm not seeing any changes in vscode so it seems that this is a vscode extension issue?

I would also like to be able to see stan hints in the editor. As for hlint, it seems that support is baked into the lsp server implementation: https://haskell-language-server.readthedocs.io/en/latest/features.html?highlight=stan#stan-hints

My stan setup works fine at the command line, but nothing bubbles up in the editor.

Could you comment whether those features are available? Or planned?

Thanks

@fendor fendor transferred this issue from haskell/vscode-haskell Aug 28, 2022
@fendor
Copy link
Collaborator

fendor commented Aug 28, 2022

Thank you for the bug report!

Moved the issue to the main repo, since, afaict, this is a question for the lsp-server!

@fendor fendor added type: support User support tickets, questions, help with setup etc. component: hls-hlint-plugin component: hls-stan-plugin labels Aug 28, 2022
@benjamin-thomas
Copy link
Author

Thanks, let me know if you need more info (GHC version, etc.)

@pepeiborra
Copy link
Collaborator

Yes, we do need all that information. HLS-Stan-plugin is only supported in some GHC versions. Please fill in the issue template. Thank you.

@benjamin-thomas
Copy link
Author

I looked at your Enhancement request issue template and I don't see anything specific.

As I said earlier, I'm not sure I understand what features are actually implemented...

Here are a few data points though.

OS:    Ubuntu 20.04.4 LTS
vscode version: 1.70.2

HLint v3.4, (C) Neil Mitchell 2006-2022

# I installed my toolchain with ghcup

cabal-install version 3.6.2.0
compiled using version 3.6.2.0 of the Cabal library 

The Glorious Glasgow Haskell Compilation System, version 8.10.7

vscode only display limited hlint suggestions here (my config file is not read)

image

Running hlint via the command line gives me more suggestions:

image

Here's a link to my configured repo if it can help: https://github.com/benjamin-thomas/haskell-playground

Thanks :)

@pepeiborra
Copy link
Collaborator

I looked at your Enhancement request issue template and I don't see anything specific.

Why are you using the Enhancement request issue template? This is a bug report, please follow the bug report issue template.

Here's a link to my configured repo if it can help: https://github.com/benjamin-thomas/haskell-playground

I loaded your configured repo and hls-hlint-plugin is automatically loading the .hlint.yaml file as expected. Without your HLS logs, I cannot tell why it isn't working for you.

@benjamin-thomas
Copy link
Author

As I told you, I wasn't sure this was a bug since I don't know what to expect, what's supposed to work out of the box or not.

Here's the remaining data you require:

Which LSP client (editor/plugin) do you use?

The one provided by the vscode extension vscode-haskell

How is your project built (alternative: link to the project)?

With cabal

Have you configured HLS in any way (especially: a hie.yaml file)?

No


I loaded your configured repo and hls-hlint-plugin is automatically loading

This hls-hlint plugin is loaded by default correct? Or did you do something special?


Here's my log. I stopped vscode, restarted it, waited for hlint to give me (minimal) hints, then copied the log from vscode's output pane:

2022-08-28 17:41:18.4900000 [client] INFO Finding haskell-language-server
2022-08-28 17:41:18.5230000 [client] INFO Checking for ghcup installation
2022-08-28 17:41:18.5370000 [client] INFO found ghcup at ghcup
2022-08-28 17:41:18.5420000 [client] INFO Executing 'ghcup --no-verbose upgrade' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 17:41:18.7650000 [client] INFO Checking for ghcup installation
2022-08-28 17:41:18.7920000 [client] INFO found ghcup at ghcup
2022-08-28 17:41:18.7930000 [client] INFO Executing 'ghcup --no-verbose list -t hls -c installed -r' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 17:41:19.5710000 [client] INFO Checking for ghcup installation
2022-08-28 17:41:19.5900000 [client] INFO found ghcup at ghcup
2022-08-28 17:41:19.5910000 [client] INFO Executing 'ghcup --no-verbose list -t cabal -c installed -r' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 17:41:19.9700000 [client] INFO Checking for ghcup installation
2022-08-28 17:41:19.9860000 [client] INFO found ghcup at ghcup
2022-08-28 17:41:19.9880000 [client] INFO Executing 'ghcup --no-verbose list -t stack -c installed -r' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 17:41:20.3740000 [client] INFO Checking for ghcup installation
2022-08-28 17:41:20.3940000 [client] INFO found ghcup at ghcup
2022-08-28 17:41:20.3950000 [client] INFO Executing 'ghcup --no-verbose whereis hls 1.7.0.0' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 17:41:20.4890000 [client] INFO Checking for ghcup installation
2022-08-28 17:41:20.5040000 [client] INFO found ghcup at ghcup
2022-08-28 17:41:20.5060000 [client] INFO Executing 'ghcup --no-verbose whereis cabal 3.6.2.0' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 17:41:20.5750000 [client] INFO Checking for ghcup installation
2022-08-28 17:41:20.5880000 [client] INFO found ghcup at ghcup
2022-08-28 17:41:20.5900000 [client] INFO Executing 'ghcup --no-verbose whereis stack 2.7.5' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 17:41:21.4460000 [client] INFO Executing 'ghc --numeric-version' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 17:41:21.6550000 [client] INFO Checking for ghcup installation
2022-08-28 17:41:21.6730000 [client] INFO found ghcup at ghcup
2022-08-28 17:41:21.6740000 [client] INFO Executing 'ghcup --no-verbose run --hls 1.7.0.0 --cabal 3.6.2.0 --stack 2.7.5 --install' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 17:41:21.8340000 [client] INFO Working out the project GHC version. This might take a while...
2022-08-28 17:41:21.8350000 [client] INFO Executing 'haskell-language-server-wrapper --project-ghc-version' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 17:41:23.6670000 [client] INFO The GHC version for the project or file: 8.10.7
2022-08-28 17:41:23.8630000 [client] INFO Platform constants: Linux_UnknownLinux, A_64
2022-08-28 17:41:23.8630000 [client] INFO Checking for ghcup installation
2022-08-28 17:41:23.8850000 [client] INFO found ghcup at ghcup
2022-08-28 17:41:23.8870000 [client] INFO Executing 'ghcup --no-verbose list -t hls -c installed -r' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 17:41:23.9870000 [client] INFO Checking for ghcup installation
2022-08-28 17:41:24.0060000 [client] INFO found ghcup at ghcup
2022-08-28 17:41:24.0070000 [client] INFO Executing 'ghcup --no-verbose whereis bindir' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 17:41:24.0360000 [client] INFO Checking for ghcup installation
2022-08-28 17:41:24.0600000 [client] INFO found ghcup at ghcup
2022-08-28 17:41:24.0620000 [client] INFO Executing 'ghcup --no-verbose whereis hls 1.7.0.0' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 17:41:24.0890000 [client] INFO Checking for ghcup installation
2022-08-28 17:41:24.1120000 [client] INFO found ghcup at ghcup
2022-08-28 17:41:24.1130000 [client] INFO Executing 'ghcup --no-verbose whereis ghc 8.10.7' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 17:41:24.1430000 [client] INFO Checking for ghcup installation
2022-08-28 17:41:24.1590000 [client] INFO found ghcup at ghcup
2022-08-28 17:41:24.1600000 [client] INFO Executing 'ghcup --no-verbose run --hls 1.7.0.0 --cabal 3.6.2.0 --stack 2.7.5 --ghc 8.10.7 --install' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 17:41:24.3570000 [client] INFO Activating the language server in working dir: /home/benjamin/code/explore/haskell/haskell-playground (the workspace folder)
2022-08-28 17:41:24.3580000 [client] INFO run command: /home/benjamin/.ghcup/tmp/ghcup-ghc-8.10.7_cabal-3.6.2.0_hls-1.7.0.0_stack-2.7.5/haskell-language-server-wrapper --lsp
2022-08-28 17:41:24.3580000 [client] INFO debug command: /home/benjamin/.ghcup/tmp/ghcup-ghc-8.10.7_cabal-3.6.2.0_hls-1.7.0.0_stack-2.7.5/haskell-language-server-wrapper --lsp
2022-08-28 17:41:24.3580000 [client] INFO server environment variables:
2022-08-28 17:41:24.3580000 [client] INFO   PATH=/home/benjamin/.ghcup/tmp/ghcup-ghc-8.10.7_cabal-3.6.2.0_hls-1.7.0.0_stack-2.7.5:/home/benjamin/.opam/4.11.1/bin:/home/benjamin/.nix-profile/bin:/home/benjamin/.local/bin:/home/benjamin/.asdf/shims:/home/benjamin/.asdf/bin:/home/benjamin/.yarn/bin:/home/benjamin/.config/yarn/global/node_modules/.bin:/home/benjamin/.mix/escripts:/home/benjamin/.rbenv/shims:/home/benjamin/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/home/benjamin/.yarn/bin:/home/benjamin/.config/yarn/global/node_modules/.bin:/home/benjamin/.mix/escripts:/home/benjamin/.cabal/bin:/home/benjamin/.ghcup/bin:/home/benjamin/.rbenv/shims:/home/benjamin/.nix-profile/bin:/home/benjamin/.opam/4.11.1/bin:/home/benjamin/.cargo/bin:/home/benjamin/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/benjamin/.dotnet/tools:/home/benjamin/.local/share/JetBrains/Toolbox/scripts:/home/benjamin/.npm-global/bin:/home/benjamin/.dotnet/tools:/home/benjamin/go/go1.18/bin:/home/benjamin/go/bin:/home/benjamin/.dotnet/tools:/home/benjamin/.npm-global/bin:/home/benjamin/.dotnet/tools:/home/benjamin/go/go1.18/bin:/home/benjamin/go/bin:/home/benjamin/.local/share/JetBrains/Toolbox/scripts
2022-08-28 17:41:24.3600000 [client] INFO Starting language server
No 'hie.yaml' found. Try to discover the project type!
Run entered for haskell-language-server-wrapper(haskell-language-server-wrapper) Version 1.7.0.0 x86_64 ghc-9.2.2
Current directory: /home/benjamin/code/explore/haskell/haskell-playground
Operating system: linux
Arguments: ["--lsp"]
Cradle directory: /home/benjamin/code/explore/haskell/haskell-playground
Cradle type: Cabal

Tool versions found on the $PATH
cabal:		3.6.2.0
stack:		2.7.5
ghc:		8.10.7


Consulting the cradle to get project GHC version...
Project GHC version: 8.10.7
haskell-language-server exe candidates: ["haskell-language-server-8.10.7","haskell-language-server"]
Launching haskell-language-server exe at:/home/benjamin/.ghcup/tmp/ghcup-ghc-8.10.7_cabal-3.6.2.0_hls-1.7.0.0_stack-2.7.5/haskell-language-server-8.10.7
2022-08-28T17:41:32.295469Z | Info | No log file specified; using stderr.
2022-08-28T17:41:32.297333Z | Info | haskell-language-server version: 1.7.0.0 (GHC: 8.10.7) (PATH: /home/benjamin/.ghcup/hls/1.7.0.0/lib/haskell-language-server-1.7.0.0/bin/haskell-language-server-8.10.7)
2022-08-28T17:41:32.299866Z | Info | Directory: /home/benjamin/code/explore/haskell/haskell-playground
2022-08-28T17:41:32.300285Z | Info | Starting (haskell-language-server) LSP server...
  GhcideArguments {argsCommand = LSP, argsCwd = Nothing, argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsDebugOn = False, argsLogFile = Nothing, argsThreads = 0, argsProjectGhcVersion = False}
  PluginIds: [ pragmas
             , floskell
             , fourmolu
             , tactics
             , ormolu
             , stylish-haskell
             , rename
             , retrie
             , brittany
             , callHierarchy
             , class
             , haddockComments
             , eval
             , importLens
             , qualifyImportedNames
             , refineImports
             , moduleName
             , hlint
             , splice
             , alternateNumberFormat
             , selectionRange
             , changeTypeSignature
             , ghcide-hover-and-symbols
             , ghcide-code-actions-imports-exports
             , ghcide-code-actions-type-signatures
             , ghcide-code-actions-bindings
             , ghcide-code-actions-fill-holes
             , ghcide-completions
             , ghcide-type-lenses
             , ghcide-core
             , LSPRecorderCallback ]
2022-08-28T17:41:32.305758Z | Info | Logging heap statistics every 60.00s
 2022-08-28T17:41:32.308886Z | Info | Staring LSP server...
If you are seeing this in a terminal, you probably should have run WITHOUT the --lsp option!
2022-08-28T17:41:32.313164Z | Info | Started LSP server in 0.00s
2022-08-28T17:41:33.079550Z | Info | Registering IDE configuration: IdeConfiguration {workspaceFolders = fromList [NormalizedUri (-1653369225414169001) "file:///home/benjamin/code/explore/haskell/haskell-playground"], clientSettings = hashed Nothing}
2022-08-28T17:41:33.105389Z | Info | Cradle path: src/ExplorePrelude.hs
2022-08-28T17:41:33.105780Z | Warning | No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for src/ExplorePrelude.hs.
Proceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie).
You should ignore this message, unless you see a 'Multi Cradle: No prefixes matched' error.
[Info  - 7:41:33 PM] haskell-language-server version: 1.7.0.0 (GHC: 8.10.7) (PATH: /home/benjamin/.ghcup/hls/1.7.0.0/lib/haskell-language-server-1.7.0.0/bin/haskell-language-server-8.10.7)
[Info  - 7:41:33 PM] Directory: /home/benjamin/code/explore/haskell/haskell-playground
[Info  - 7:41:33 PM] Starting (haskell-language-server) LSP server...
  GhcideArguments {argsCommand = LSP, argsCwd = Nothing, argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsDebugOn = False, argsLogFile = Nothing, argsThreads = 0, argsProjectGhcVersion = False}
  PluginIds: [ pragmas
             , floskell
             , fourmolu
             , tactics
             , ormolu
             , stylish-haskell
             , rename
             , retrie
             , brittany
             , callHierarchy
             , class
             , haddockComments
             , eval
             , importLens
             , qualifyImportedNames
             , refineImports
             , moduleName
             , hlint
             , splice
             , alternateNumberFormat
             , selectionRange
             , changeTypeSignature
             , ghcide-hover-and-symbols
             , ghcide-code-actions-imports-exports
             , ghcide-code-actions-type-signatures
             , ghcide-code-actions-bindings
             , ghcide-code-actions-fill-holes
             , ghcide-completions
             , ghcide-type-lenses
             , ghcide-core
             , LSPRecorderCallback ]
[Info  - 7:41:33 PM] Logging heap statistics every 60.00s
[Info  - 7:41:33 PM] Staring LSP server...
If you are seeing this in a terminal, you probably should have run WITHOUT the --lsp option!
[Info  - 7:41:33 PM] Started LSP server in 0.00s
[Info  - 7:41:33 PM] Registering IDE configuration: IdeConfiguration {workspaceFolders = fromList [NormalizedUri (-1653369225414169001) "file:///home/benjamin/code/explore/haskell/haskell-playground"], clientSettings = hashed Nothing}
[Info  - 7:41:33 PM] Cradle path: src/ExplorePrelude.hs
[Warn  - 7:41:33 PM] No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for src/ExplorePrelude.hs.
Proceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie).
You should ignore this message, unless you see a 'Multi Cradle: No prefixes matched' error.
2022-08-28 19:41:33.919097673 [ThreadId 155] INFO hie-bios:	Build profile: -w ghc-8.10.7 -O1
2022-08-28 19:41:33.919509434 [ThreadId 155] INFO hie-bios:	In order, the following will be built (use -v for more details):
2022-08-28 19:41:33.919580153 [ThreadId 155] INFO hie-bios:	 - haskell-playground-0.0.0.1 (lib) (first run)
2022-08-28 19:41:33.975736652 [ThreadId 155] INFO hie-bios:	Preprocessing library for haskell-playground-0.0.0.1..
2022-08-28T17:41:34.980834Z | Info | Interface files cache directory: /home/benjamin/.cache/ghcide/haskell-playground-0.0.0.1-inplace-22297d5893238691cdec68611d1e664de35e3c28
2022-08-28T17:41:34.981274Z | Info | Making new HscEnv. In-place unit ids: [haskell-playground-0.0.0.1-inplace]
[Info  - 7:41:34 PM] Interface files cache directory: /home/benjamin/.cache/ghcide/haskell-playground-0.0.0.1-inplace-22297d5893238691cdec68611d1e664de35e3c28
[Info  - 7:41:34 PM] Making new HscEnv. In-place unit ids: [haskell-playground-0.0.0.1-inplace]

Nothing jumps at me :s

@pepeiborra
Copy link
Collaborator

The list of plugins shows that hls-stan-plugin is not there: It didn't make it to release 1.7.0.0 so it's only available in HEAD currently.

No idea with the hlint plugin is not finding your .hlint.yaml file, it works for me.

@benjamin-thomas
Copy link
Author

Ok.

I've cleared the cache at $HOME/.cache/hie-bios and restarted vscode: no change.

Here's a debug log as documented per: https://github.com/haskell/vscode-haskell#investigating-and-reporting-problems

I don't see anything obvious here either.

2022-08-28 20:53:51.3490000 [client] DEBUG Environment variables:
2022-08-28 20:53:51.3530000 [client] DEBUG   PATH: /home/benjamin/.opam/4.11.1/bin:/home/benjamin/.nix-profile/bin:/home/benjamin/.local/bin:/home/benjamin/.asdf/shims:/home/benjamin/.asdf/bin:/home/benjamin/.yarn/bin:/home/benjamin/.config/yarn/global/node_modules/.bin:/home/benjamin/.mix/escripts:/home/benjamin/.rbenv/shims:/home/benjamin/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/home/benjamin/.yarn/bin:/home/benjamin/.config/yarn/global/node_modules/.bin:/home/benjamin/.mix/escripts:/home/benjamin/.cabal/bin:/home/benjamin/.ghcup/bin:/home/benjamin/.rbenv/shims:/home/benjamin/.nix-profile/bin:/home/benjamin/.opam/4.11.1/bin:/home/benjamin/.cargo/bin:/home/benjamin/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/benjamin/.dotnet/tools:/home/benjamin/.local/share/JetBrains/Toolbox/scripts:/home/benjamin/.npm-global/bin:/home/benjamin/.dotnet/tools:/home/benjamin/go/go1.18/bin:/home/benjamin/go/bin:/home/benjamin/.dotnet/tools:/home/benjamin/.npm-global/bin:/home/benjamin/.dotnet/tools:/home/benjamin/go/go1.18/bin:/home/benjamin/go/bin:/home/benjamin/.local/share/JetBrains/Toolbox/scripts
2022-08-28 20:53:51.3530000 [client] INFO Finding haskell-language-server
2022-08-28 20:53:51.3750000 [client] INFO Checking for ghcup installation
2022-08-28 20:53:51.3900000 [client] INFO found ghcup at ghcup
2022-08-28 20:53:51.3960000 [client] INFO Executing 'ghcup --no-verbose upgrade' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 20:53:51.5830000 [client] DEBUG Execution of 'ghcup --no-verbose upgrade' terminated with code 0
2022-08-28 20:53:51.5840000 [client] INFO Checking for ghcup installation
2022-08-28 20:53:51.5960000 [client] INFO found ghcup at ghcup
2022-08-28 20:53:51.5980000 [client] INFO Executing 'ghcup --no-verbose list -t hls -c installed -r' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 20:53:51.7010000 [client] DEBUG Execution of 'ghcup --no-verbose list -t hls -c installed -r' terminated with code 0
2022-08-28 20:53:51.7020000 [client] INFO Checking for ghcup installation
2022-08-28 20:53:51.7110000 [client] INFO found ghcup at ghcup
2022-08-28 20:53:51.7120000 [client] INFO Executing 'ghcup --no-verbose list -t cabal -c installed -r' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 20:53:51.9240000 [client] DEBUG Execution of 'ghcup --no-verbose list -t cabal -c installed -r' terminated with code 0
2022-08-28 20:53:51.9260000 [client] INFO Checking for ghcup installation
2022-08-28 20:53:51.9460000 [client] INFO found ghcup at ghcup
2022-08-28 20:53:51.9470000 [client] INFO Executing 'ghcup --no-verbose list -t stack -c installed -r' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 20:53:52.0900000 [client] DEBUG Execution of 'ghcup --no-verbose list -t stack -c installed -r' terminated with code 0
2022-08-28 20:53:52.0990000 [client] INFO Checking for ghcup installation
2022-08-28 20:53:52.1100000 [client] INFO found ghcup at ghcup
2022-08-28 20:53:52.1110000 [client] INFO Executing 'ghcup --no-verbose whereis hls 1.7.0.0' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 20:53:52.7080000 [client] DEBUG Execution of 'ghcup --no-verbose whereis hls 1.7.0.0' terminated with code 0
2022-08-28 20:53:52.7440000 [client] INFO Checking for ghcup installation
2022-08-28 20:53:52.7600000 [client] INFO found ghcup at ghcup
2022-08-28 20:53:52.7610000 [client] INFO Executing 'ghcup --no-verbose whereis cabal 3.6.2.0' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 20:53:52.7820000 [client] DEBUG Execution of 'ghcup --no-verbose whereis cabal 3.6.2.0' terminated with code 0
2022-08-28 20:53:52.7830000 [client] INFO Checking for ghcup installation
2022-08-28 20:53:52.7940000 [client] INFO found ghcup at ghcup
2022-08-28 20:53:52.7950000 [client] INFO Executing 'ghcup --no-verbose whereis stack 2.7.5' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 20:53:52.9620000 [client] DEBUG Execution of 'ghcup --no-verbose whereis stack 2.7.5' terminated with code 0
2022-08-28 20:53:53.1210000 [client] INFO Executing 'ghc --numeric-version' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 20:53:53.3450000 [client] DEBUG Execution of 'ghc --numeric-version' terminated with code 0
2022-08-28 20:53:53.3460000 [client] INFO Checking for ghcup installation
2022-08-28 20:53:53.3690000 [client] INFO found ghcup at ghcup
2022-08-28 20:53:53.3710000 [client] INFO Executing 'ghcup --no-verbose run --hls 1.7.0.0 --cabal 3.6.2.0 --stack 2.7.5 --install' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 20:53:53.5820000 [client] DEBUG Execution of 'ghcup --no-verbose run --hls 1.7.0.0 --cabal 3.6.2.0 --stack 2.7.5 --install' terminated with code 0
2022-08-28 20:53:54.2650000 [client] INFO Working out the project GHC version. This might take a while...
2022-08-28 20:53:54.2660000 [client] INFO Executing 'haskell-language-server-wrapper --project-ghc-version' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 20:54:00.1030000 [client] DEBUG Execution of 'haskell-language-server-wrapper --project-ghc-version' terminated with code 0
2022-08-28 20:54:00.1030000 [client] INFO The GHC version for the project or file: 8.10.7
2022-08-28 20:54:00.2000000 [client] INFO Platform constants: Linux_UnknownLinux, A_64
2022-08-28 20:54:00.2000000 [client] DEBUG HLS 1.1.0 compatible with GHC Versions: 8.10.2,8.10.3,8.10.4,8.6.4,8.6.5,8.8.2,8.8.3,8.8.4
2022-08-28 20:54:00.2000000 [client] DEBUG HLS 1.2.0 compatible with GHC Versions: 8.10.2,8.10.3,8.10.4,8.10.5,8.6.4,8.6.5,8.8.2,8.8.3,8.8.4
2022-08-28 20:54:00.2000000 [client] DEBUG HLS 1.3.0 compatible with GHC Versions: 8.10.2,8.10.3,8.10.4,8.10.5,8.6.4,8.6.5,8.8.3,8.8.4,9.0.1
2022-08-28 20:54:00.2000000 [client] DEBUG HLS 1.4.0 compatible with GHC Versions: 8.10.2,8.10.3,8.10.4,8.10.5,8.10.6,8.10.7,8.6.4,8.6.5,8.8.3,8.8.4,9.0.1
2022-08-28 20:54:00.2000000 [client] DEBUG HLS 1.5.0 compatible with GHC Versions: 8.10.5,8.10.6,8.10.7,8.6.5,8.8.3,8.8.4,9.0.1
2022-08-28 20:54:00.2000000 [client] DEBUG HLS 1.5.1 compatible with GHC Versions: 8.10.5,8.10.6,8.10.7,8.6.5,8.8.3,8.8.4,9.0.1
2022-08-28 20:54:00.2000000 [client] DEBUG HLS 1.6.0.0 compatible with GHC Versions: 8.10.6,8.10.7,8.6.5,8.8.4,9.0.1,9.0.2,9.2.1
2022-08-28 20:54:00.2000000 [client] DEBUG HLS 1.6.1.0 compatible with GHC Versions: 8.10.6,8.10.7,8.6.5,8.8.4,9.0.1,9.0.2,9.2.1
2022-08-28 20:54:00.2000000 [client] DEBUG HLS 1.7.0.0 compatible with GHC Versions: 8.6.5,8.8.4,8.10.7,9.0.2,9.2.1,9.2.2
2022-08-28 20:54:00.2010000 [client] INFO Checking for ghcup installation
2022-08-28 20:54:00.2170000 [client] INFO found ghcup at ghcup
2022-08-28 20:54:00.2190000 [client] INFO Executing 'ghcup --no-verbose list -t hls -c installed -r' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 20:54:00.3370000 [client] DEBUG Execution of 'ghcup --no-verbose list -t hls -c installed -r' terminated with code 0
2022-08-28 20:54:00.3380000 [client] INFO Checking for ghcup installation
2022-08-28 20:54:00.3540000 [client] INFO found ghcup at ghcup
2022-08-28 20:54:00.3550000 [client] INFO Executing 'ghcup --no-verbose whereis bindir' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 20:54:00.3790000 [client] DEBUG Execution of 'ghcup --no-verbose whereis bindir' terminated with code 0
2022-08-28 20:54:00.3850000 [client] INFO Checking for ghcup installation
2022-08-28 20:54:00.4000000 [client] INFO found ghcup at ghcup
2022-08-28 20:54:00.4010000 [client] INFO Executing 'ghcup --no-verbose whereis hls 1.7.0.0' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 20:54:00.4260000 [client] DEBUG Execution of 'ghcup --no-verbose whereis hls 1.7.0.0' terminated with code 0
2022-08-28 20:54:00.4260000 [client] INFO Checking for ghcup installation
2022-08-28 20:54:00.4420000 [client] INFO found ghcup at ghcup
2022-08-28 20:54:00.4430000 [client] INFO Executing 'ghcup --no-verbose whereis ghc 8.10.7' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 20:54:00.4690000 [client] DEBUG Execution of 'ghcup --no-verbose whereis ghc 8.10.7' terminated with code 0
2022-08-28 20:54:00.4690000 [client] INFO Checking for ghcup installation
2022-08-28 20:54:00.4820000 [client] INFO found ghcup at ghcup
2022-08-28 20:54:00.4830000 [client] INFO Executing 'ghcup --no-verbose run --hls 1.7.0.0 --cabal 3.6.2.0 --stack 2.7.5 --ghc 8.10.7 --install' in cwd '/home/benjamin/code/explore/haskell/haskell-playground'
2022-08-28 20:54:00.6100000 [client] DEBUG Execution of 'ghcup --no-verbose run --hls 1.7.0.0 --cabal 3.6.2.0 --stack 2.7.5 --ghc 8.10.7 --install' terminated with code 0
2022-08-28 20:54:00.6110000 [client] INFO Activating the language server in working dir: /home/benjamin/code/explore/haskell/haskell-playground (the workspace folder)
2022-08-28 20:54:00.6120000 [client] INFO run command: /home/benjamin/.ghcup/tmp/ghcup-ghc-8.10.7_cabal-3.6.2.0_hls-1.7.0.0_stack-2.7.5/haskell-language-server-wrapper --lsp -d
2022-08-28 20:54:00.6120000 [client] INFO debug command: /home/benjamin/.ghcup/tmp/ghcup-ghc-8.10.7_cabal-3.6.2.0_hls-1.7.0.0_stack-2.7.5/haskell-language-server-wrapper --lsp -d
2022-08-28 20:54:00.6120000 [client] INFO server environment variables:
2022-08-28 20:54:00.6120000 [client] INFO   PATH=/home/benjamin/.ghcup/tmp/ghcup-ghc-8.10.7_cabal-3.6.2.0_hls-1.7.0.0_stack-2.7.5:/home/benjamin/.opam/4.11.1/bin:/home/benjamin/.nix-profile/bin:/home/benjamin/.local/bin:/home/benjamin/.asdf/shims:/home/benjamin/.asdf/bin:/home/benjamin/.yarn/bin:/home/benjamin/.config/yarn/global/node_modules/.bin:/home/benjamin/.mix/escripts:/home/benjamin/.rbenv/shims:/home/benjamin/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/home/benjamin/.yarn/bin:/home/benjamin/.config/yarn/global/node_modules/.bin:/home/benjamin/.mix/escripts:/home/benjamin/.cabal/bin:/home/benjamin/.ghcup/bin:/home/benjamin/.rbenv/shims:/home/benjamin/.nix-profile/bin:/home/benjamin/.opam/4.11.1/bin:/home/benjamin/.cargo/bin:/home/benjamin/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/benjamin/.dotnet/tools:/home/benjamin/.local/share/JetBrains/Toolbox/scripts:/home/benjamin/.npm-global/bin:/home/benjamin/.dotnet/tools:/home/benjamin/go/go1.18/bin:/home/benjamin/go/bin:/home/benjamin/.dotnet/tools:/home/benjamin/.npm-global/bin:/home/benjamin/.dotnet/tools:/home/benjamin/go/go1.18/bin:/home/benjamin/go/bin:/home/benjamin/.local/share/JetBrains/Toolbox/scripts
2022-08-28 20:54:00.6120000 [client] DEBUG document selector patten: /home/benjamin/code/explore/haskell/haskell-playground/**/*
2022-08-28 20:54:00.6150000 [client] INFO Starting language server
[Trace - 10:54:00 PM] Sending request 'initialize - (0)'.
No 'hie.yaml' found. Try to discover the project type!
Run entered for haskell-language-server-wrapper(haskell-language-server-wrapper) Version 1.7.0.0 x86_64 ghc-9.2.2
Current directory: /home/benjamin/code/explore/haskell/haskell-playground
Operating system: linux
Arguments: ["--lsp","-d"]
Cradle directory: /home/benjamin/code/explore/haskell/haskell-playground
Cradle type: Cabal

Tool versions found on the $PATH
cabal:		3.6.2.0
stack:		2.7.5
ghc:		8.10.7


Consulting the cradle to get project GHC version...
Project GHC version: 8.10.7
haskell-language-server exe candidates: ["haskell-language-server-8.10.7","haskell-language-server"]
Launching haskell-language-server exe at:/home/benjamin/.ghcup/tmp/ghcup-ghc-8.10.7_cabal-3.6.2.0_hls-1.7.0.0_stack-2.7.5/haskell-language-server-8.10.7
2022-08-28T20:54:08.310962Z | Info | No log file specified; using stderr.
2022-08-28T20:54:08.312034Z | Info | haskell-language-server version: 1.7.0.0 (GHC: 8.10.7) (PATH: /home/benjamin/.ghcup/hls/1.7.0.0/lib/haskell-language-server-1.7.0.0/bin/haskell-language-server-8.10.7)
2022-08-28T20:54:08.313412Z | Info | Directory: /home/benjamin/code/explore/haskell/haskell-playground
2022-08-28T20:54:08.314074Z | Info | Starting (haskell-language-server) LSP server...
  GhcideArguments {argsCommand = LSP, argsCwd = Nothing, argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsDebugOn = True, argsLogFile = Nothing, argsThreads = 0, argsProjectGhcVersion = False}
  PluginIds: [ pragmas
             , floskell
             , fourmolu
             , tactics
             , ormolu
             , stylish-haskell
             , rename
             , retrie
             , brittany
             , callHierarchy
             , class
             , haddockComments
             , eval
             , importLens
             , qualifyImportedNames
             , refineImports
             , moduleName
             , hlint
             , splice
             , alternateNumberFormat
             , selectionRange
             , changeTypeSignature
             , ghcide-hover-and-symbols
             , ghcide-code-actions-imports-exports
             , ghcide-code-actions-type-signatures
             , ghcide-code-actions-bindings
             , ghcide-code-actions-fill-holes
             , ghcide-completions
             , ghcide-type-lenses
             , ghcide-core
             , LSPRecorderCallback ]
2022-08-28T20:54:08.336672Z | Info | Logging heap statistics every 60.00s
 2022-08-28T20:54:08.340479Z | Info | Staring LSP server...
If you are seeing this in a terminal, you probably should have run WITHOUT the --lsp option!
2022-08-28T20:54:08.343655Z | Info | Started LSP server in 0.00s
2022-08-28T20:54:09.172371Z | Debug | Setting initial dynflags...
2022-08-28T20:54:09.172616Z | Debug | shouldRunSubset: True
2022-08-28T20:54:09.172772Z | Debug | Initializing exports map from hiedb
2022-08-28T20:54:09.173263Z | Info | Registering IDE configuration: IdeConfiguration {workspaceFolders = fromList [NormalizedUri (-1653369225414169001) "file:///home/benjamin/code/explore/haskell/haskell-playground"], clientSettings = hashed Nothing}
[Trace - 10:54:09 PM] Received response 'initialize - (0)' in 8546ms.
[Trace - 10:54:09 PM] Sending notification 'initialized'.
[Trace - 10:54:09 PM] Sending notification 'workspace/didChangeConfiguration'.
[Trace - 10:54:09 PM] Sending notification 'textDocument/didOpen'.
2022-08-28T20:54:09.181830Z | Debug | Done initializing exports map from hiedb. Size: 43
2022-08-28T20:54:09.191497Z | Debug | Shake session initialized
[Trace - 10:54:09 PM] Received request 'client/registerCapability - (0)'.
[Trace - 10:54:09 PM] Sending response 'client/registerCapability - (0)'. Processing request took 1ms
2022-08-28T20:54:09.193131Z | Debug | Configuration changed: Object (fromList [("haskell",Object (fromList [("checkProject",Bool True),("formattingProvider",String "fourmolu"),("ghcupExecutablePath",String ""),("indentationRules",Object (fromList [("enabled",Bool True)])),("logFile",String ""),("manageHLS",String "GHCup"),("maxCompletions",Number 40.0),("metadataURL",String ""),("openDocumentationInHackage",Bool True),("openSourceInHackage",Bool True),("plugin",Object (fromList [("alternateNumberFormat",Object (fromList [("globalOn",Bool True)])),("callHierarchy",Object (fromList [("globalOn",Bool True)])),("changeTypeSignature",Object (fromList [("globalOn",Bool True)])),("class",Object (fromList [("globalOn",Bool True)])),("eval",Object (fromList [("config",Object (fromList [("diff",Bool True),("exception",Bool False)])),("globalOn",Bool True)])),("ghcide-code-actions-bindings",Object (fromList [("globalOn",Bool True)])),("ghcide-code-actions-fill-holes",Object (fromList [("globalOn",Bool True)])),("ghcide-code-actions-imports-exports",Object (fromList [("globalOn",Bool True)])),("ghcide-code-actions-type-signatures",Object (fromList [("globalOn",Bool True)])),("ghcide-completions",Object (fromList [("config",Object (fromList [("autoExtendOn",Bool True),("snippetsOn",Bool True)])),("globalOn",Bool True)])),("ghcide-hover-and-symbols",Object (fromList [("hoverOn",Bool True),("symbolsOn",Bool True)])),("ghcide-type-lenses",Object (fromList [("config",Object (fromList [("mode",String "always")])),("globalOn",Bool True)])),("haddockComments",Object (fromList [("globalOn",Bool True)])),("hlint",Object (fromList [("codeActionsOn",Bool True),("config",Object (fromList [("flags",Array [])])),("diagnosticsOn",Bool True)])),("importLens",Object (fromList [("codeActionsOn",Bool True),("codeLensOn",Bool True)])),("moduleName",Object (fromList [("globalOn",Bool True)])),("pragmas",Object (fromList [("codeActionsOn",Bool True),("completionOn",Bool True)])),("qualifyImportedNames",Object (fromList [("globalOn",Bool True)])),("refineImports",Object (fromList [("codeActionsOn",Bool True),("codeLensOn",Bool True)])),("rename",Object (fromList [("config",Object (fromList [("crossModule",Bool True)])),("globalOn",Bool True)])),("retrie",Object (fromList [("globalOn",Bool True)])),("splice",Object (fromList [("globalOn",Bool True)])),("tactics",Object (fromList [("codeActionsOn",Bool True),("codeLensOn",Bool True),("config",Object (fromList [("auto_gas",Number 4.0),("hole_severity",Null),("max_use_ctor_actions",Number 5.0),("proofstate_styling",Bool True),("timeout_duration",Number 2.0)])),("hoverOn",Bool True)]))])),("promptBeforeDownloads",String "true"),("releasesDownloadStoragePath",String ""),("releasesURL",String ""),("serverEnvironment",Object (fromList [])),("serverExecutablePath",String ""),("serverExtraArgs",String ""),("toolchain",Object (fromList [])),("trace",Object (fromList [("client",String "debug"),("server",String "messages")])),("upgradeGHCup",Bool True)]))])
2022-08-28T20:54:09.193962Z | Debug | Finished build session
AsyncCancelled
2022-08-28T20:54:09.194007Z | Debug | Restarting build session due to config change
Action Queue: []
Keys: [GetClientSettings; ]
Aborting previous build session took 0.00s 
2022-08-28T20:54:09.195090Z | Debug | Set files of interest to: fromList [(NormalizedFilePath "/home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs",Modified {firstOpen = True})]
2022-08-28T20:54:09.195316Z | Debug | Finished build session
AsyncCancelled
2022-08-28T20:54:09.195476Z | Debug | Restarting build session due to /home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs (modified)
Action Queue: []
Keys: [ GetModificationTime; /home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs
      , GetClientSettings; 
      , IsFileOfInterest; /home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs ]
Aborting previous build session took 0.00s 
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
[Info  - 10:54:09 PM] haskell-language-server version: 1.7.0.0 (GHC: 8.10.7) (PATH: /home/benjamin/.ghcup/hls/1.7.0.0/lib/haskell-language-server-1.7.0.0/bin/haskell-language-server-8.10.7)
2022-08-28T20:54:09.195706Z | Debug | Opened text document: file:///home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs
2022-08-28T20:54:09.196457Z | Debug | Getting hlint ideas for  NormalizedFilePath "/home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs"
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
[Info  - 10:54:09 PM] Directory: /home/benjamin/code/explore/haskell/haskell-playground
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
[Info  - 10:54:09 PM] Starting (haskell-language-server) LSP server...
  GhcideArguments {argsCommand = LSP, argsCwd = Nothing, argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsDebugOn = True, argsLogFile = Nothing, argsThreads = 0, argsProjectGhcVersion = False}
  PluginIds: [ pragmas
             , floskell
             , fourmolu
             , tactics
             , ormolu
             , stylish-haskell
             , rename
             , retrie
             , brittany
             , callHierarchy
             , class
             , haddockComments
             , eval
             , importLens
             , qualifyImportedNames
             , refineImports
             , moduleName
             , hlint
             , splice
             , alternateNumberFormat
             , selectionRange
             , changeTypeSignature
             , ghcide-hover-and-symbols
             , ghcide-code-actions-imports-exports
             , ghcide-code-actions-type-signatures
             , ghcide-code-actions-bindings
             , ghcide-code-actions-fill-holes
             , ghcide-completions
             , ghcide-type-lenses
             , ghcide-core
             , LSPRecorderCallback ]
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
[Info  - 10:54:09 PM] Logging heap statistics every 60.00s
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
[Info  - 10:54:09 PM] Staring LSP server...
If you are seeing this in a terminal, you probably should have run WITHOUT the --lsp option!
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
[Info  - 10:54:09 PM] Started LSP server in 0.00s
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
Setting initial dynflags...
2022-08-28T20:54:09.200169Z | Info | Cradle path: src/ExplorePrelude.hs
2022-08-28T20:54:09.200662Z | Warning | No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for src/ExplorePrelude.hs.
Proceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie).
You should ignore this message, unless you see a 'Multi Cradle: No prefixes matched' error.
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
shouldRunSubset: True
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
Initializing exports map from hiedb
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
[Info  - 10:54:09 PM] Registering IDE configuration: IdeConfiguration {workspaceFolders = fromList [NormalizedUri (-1653369225414169001) "file:///home/benjamin/code/explore/haskell/haskell-playground"], clientSettings = hashed Nothing}
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
Done initializing exports map from hiedb. Size: 43
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
Shake session initialized
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
Configuration changed: Object (fromList [("haskell",Object (fromList [("checkProject",Bool True),("formattingProvider",String "fourmolu"),("ghcupExecutablePath",String ""),("indentationRules",Object (fromList [("enabled",Bool True)])),("logFile",String ""),("manageHLS",String "GHCup"),("maxCompletions",Number 40.0),("metadataURL",String ""),("openDocumentationInHackage",Bool True),("openSourceInHackage",Bool True),("plugin",Object (fromList [("alternateNumberFormat",Object (fromList [("globalOn",Bool True)])),("callHierarchy",Object (fromList [("globalOn",Bool True)])),("changeTypeSignature",Object (fromList [("globalOn",Bool True)])),("class",Object (fromList [("globalOn",Bool True)])),("eval",Object (fromList [("config",Object (fromList [("diff",Bool True),("exception",Bool False)])),("globalOn",Bool True)])),("ghcide-code-actions-bindings",Object (fromList [("globalOn",Bool True)])),("ghcide-code-actions-fill-holes",Object (fromList [("globalOn",Bool True)])),("ghcide-code-actions-imports-exports",Object (fromList [("globalOn",Bool True)])),("ghcide-code-actions-type-signatures",Object (fromList [("globalOn",Bool True)])),("ghcide-completions",Object (fromList [("config",Object (fromList [("autoExtendOn",Bool True),("snippetsOn",Bool True)])),("globalOn",Bool True)])),("ghcide-hover-and-symbols",Object (fromList [("hoverOn",Bool True),("symbolsOn",Bool True)])),("ghcide-type-lenses",Object (fromList [("config",Object (fromList [("mode",String "always")])),("globalOn",Bool True)])),("haddockComments",Object (fromList [("globalOn",Bool True)])),("hlint",Object (fromList [("codeActionsOn",Bool True),("config",Object (fromList [("flags",Array [])])),("diagnosticsOn",Bool True)])),("importLens",Object (fromList [("codeActionsOn",Bool True),("codeLensOn",Bool True)])),("moduleName",Object (fromList [("globalOn",Bool True)])),("pragmas",Object (fromList [("codeActionsOn",Bool True),("completionOn",Bool True)])),("qualifyImportedNames",Object (fromList [("globalOn",Bool True)])),("refineImports",Object (fromList [("codeActionsOn",Bool True),("codeLensOn",Bool True)])),("rename",Object (fromList [("config",Object (fromList [("crossModule",Bool True)])),("globalOn",Bool True)])),("retrie",Object (fromList [("globalOn",Bool True)])),("splice",Object (fromList [("globalOn",Bool True)])),("tactics",Object (fromList [("codeActionsOn",Bool True),("codeLensOn",Bool True),("config",Object (fromList [("auto_gas",Number 4.0),("hole_severity",Null),("max_use_ctor_actions",Number 5.0),("proofstate_styling",Bool True),("timeout_duration",Number 2.0)])),("hoverOn",Bool True)]))])),("promptBeforeDownloads",String "true"),("releasesDownloadStoragePath",String ""),("releasesURL",String ""),("serverEnvironment",Object (fromList [])),("serverExecutablePath",String ""),("serverExtraArgs",String ""),("toolchain",Object (fromList [])),("trace",Object (fromList [("client",String "debug"),("server",String "messages")])),("upgradeGHCup",Bool True)]))])
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
Finished build session
AsyncCancelled
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
Restarting build session due to config change
Action Queue: []
Keys: [GetClientSettings; ]
Aborting previous build session took 0.00s 
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
Set files of interest to: fromList [(NormalizedFilePath "/home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs",Modified {firstOpen = True})]
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
Finished build session
AsyncCancelled
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
Restarting build session due to /home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs (modified)
Action Queue: []
Keys: [ GetModificationTime; /home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs
      , GetClientSettings; 
      , IsFileOfInterest; /home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs ]
Aborting previous build session took 0.00s 
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
Opened text document: file:///home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
Getting hlint ideas for  NormalizedFilePath "/home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs"
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
[Info  - 10:54:09 PM] Cradle path: src/ExplorePrelude.hs
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
[Warn  - 10:54:09 PM] No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for src/ExplorePrelude.hs.
Proceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie).
You should ignore this message, unless you see a 'Multi Cradle: No prefixes matched' error.
[Trace - 10:54:09 PM] Received request 'window/workDoneProgress/create - (1)'.
[Trace - 10:54:09 PM] Sending response 'window/workDoneProgress/create - (1)'. Processing request took 1ms
[Trace - 10:54:09 PM] Received notification '$/progress'.
2022-08-28T20:54:09.212112Z | Debug | Cradle: Cradle {cradleRootDir = "/home/benjamin/code/explore/haskell/haskell-playground", cradleOptsProg = CradleAction: Cabal}
[Trace - 10:54:09 PM] Sending request 'textDocument/documentSymbol - (1)'.
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
Cradle: Cradle {cradleRootDir = "/home/benjamin/code/explore/haskell/haskell-playground", cradleOptsProg = CradleAction: Cabal}
[Trace - 10:54:09 PM] Received request 'window/workDoneProgress/create - (2)'.
[Trace - 10:54:09 PM] Sending response 'window/workDoneProgress/create - (2)'. Processing request took 0ms
[Trace - 10:54:09 PM] Received notification '$/progress'.
[Trace - 10:54:09 PM] Sending request 'textDocument/codeLens - (2)'.
2022-08-28T20:54:09.541441Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:127:15 "fp" "/home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs"
[Trace - 10:54:09 PM] Received notification 'window/logMessage'.
src/Ide/Plugin/Eval/CodeLens.hs:127:15 "fp" "/home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs"
[Trace - 10:54:09 PM] Received notification '$/progress'.
2022-08-28 22:54:10.186751352 [ThreadId 118] INFO hie-bios:	Build profile: -w ghc-8.10.7 -O1
2022-08-28 22:54:10.187392692 [ThreadId 118] INFO hie-bios:	In order, the following will be built (use -v for more details):
2022-08-28 22:54:10.187487072 [ThreadId 118] INFO hie-bios:	 - haskell-playground-0.0.0.1 (lib) (first run)
2022-08-28 22:54:10.24478097 [ThreadId 118] INFO hie-bios:	Preprocessing library for haskell-playground-0.0.0.1..
2022-08-28T20:54:11.136028Z | Debug | Session loading result: Right (ComponentOptions {componentOptions = ["-fbuilding-cabal-package","-O0","-outputdir","/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build","-odir","/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build","-hidir","/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build","-stubdir","/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build","-i","-i/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build","-isrc","-i/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build/autogen","-i/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build/global-autogen","-I/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build/autogen","-I/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build/global-autogen","-I/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build","-optP-include","-optP/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build/autogen/cabal_macros.h","-this-unit-id","haskell-playground-0.0.0.1-inplace","-hide-all-packages","-Wmissing-home-modules","-no-user-package-db","-package-db","/home/benjamin/.cabal/store/ghc-8.10.7/package.db","-package-db","/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/packagedb/ghc-8.10.7","-package-db","/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/package.conf.inplace","-package-id","base-4.14.3.0","-XHaskell2010","ExplorePrelude","-Wall","-freverse-errors","-fwrite-ide-info","-hiedir=.hie","-hide-all-packages"], componentRoot = "/home/benjamin/code/explore/haskell/haskell-playground", componentDependencies = ["haskell-playground.cabal","cabal.project","cabal.project.local"]},"/home/benjamin/.ghcup/ghc/8.10.7/lib/ghc-8.10.7")
[Trace - 10:54:11 PM] Received notification '$/progress'.
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Session loading result: Right (ComponentOptions {componentOptions = ["-fbuilding-cabal-package","-O0","-outputdir","/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build","-odir","/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build","-hidir","/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build","-stubdir","/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build","-i","-i/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build","-isrc","-i/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build/autogen","-i/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build/global-autogen","-I/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build/autogen","-I/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build/global-autogen","-I/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build","-optP-include","-optP/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/build/autogen/cabal_macros.h","-this-unit-id","haskell-playground-0.0.0.1-inplace","-hide-all-packages","-Wmissing-home-modules","-no-user-package-db","-package-db","/home/benjamin/.cabal/store/ghc-8.10.7/package.db","-package-db","/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/packagedb/ghc-8.10.7","-package-db","/home/benjamin/.cache/hie-bios/dist-haskell-playground-9e1b39960cbe17805c7a66109ed34fdf/build/x86_64-linux/ghc-8.10.7/haskell-playground-0.0.0.1/package.conf.inplace","-package-id","base-4.14.3.0","-XHaskell2010","ExplorePrelude","-Wall","-freverse-errors","-fwrite-ide-info","-hiedir=.hie","-hide-all-packages"], componentRoot = "/home/benjamin/code/explore/haskell/haskell-playground", componentDependencies = ["haskell-playground.cabal","cabal.project","cabal.project.local"]},"/home/benjamin/.ghcup/ghc/8.10.7/lib/ghc-8.10.7")
2022-08-28T20:54:11.243026Z | Info | Interface files cache directory: /home/benjamin/.cache/ghcide/haskell-playground-0.0.0.1-inplace-22297d5893238691cdec68611d1e664de35e3c28
2022-08-28T20:54:11.243376Z | Info | Making new HscEnv. In-place unit ids: [haskell-playground-0.0.0.1-inplace]
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
[Info  - 10:54:11 PM] Interface files cache directory: /home/benjamin/.cache/ghcide/haskell-playground-0.0.0.1-inplace-22297d5893238691cdec68611d1e664de35e3c28
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
[Info  - 10:54:11 PM] Making new HscEnv. In-place unit ids: [haskell-playground-0.0.0.1-inplace]
2022-08-28T20:54:11.300716Z | Debug | New component cache HscEnvEq: (([],Just HscEnvEq 14),fromList [("cabal.project",Nothing),("cabal.project.local",Just 2022-08-27 07:33:45.372805793 UTC),("haskell-playground.cabal",Just 2022-08-28 05:54:21.103839276 UTC)])
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
New component cache HscEnvEq: (([],Just HscEnvEq 14),fromList [("cabal.project",Nothing),("cabal.project.local",Just 2022-08-27 07:33:45.372805793 UTC),("haskell-playground.cabal",Just 2022-08-28 05:54:21.103839276 UTC)])
2022-08-28T20:54:11.302307Z | Debug | Known files updated:
  fromList [(TargetFile NormalizedFilePath "/home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs",fromList ["/home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs"]),(TargetModule ExplorePrelude,fromList ["/home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs"])]
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Known files updated:
  fromList [(TargetFile NormalizedFilePath "/home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs",fromList ["/home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs"]),(TargetModule ExplorePrelude,fromList ["/home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs"])]
2022-08-28T20:54:11.302932Z | Debug | Finished build session
AsyncCancelled
2022-08-28T20:54:11.302956Z | Debug | Restarting build session due to new component
Action Queue: [ ModuleName.ghcSession
              , codeLens.GhcSession
              , RefineImports
              , eval.GetParsedModuleWithComments
              , Wingman.getIdeDynflags.GetModSummaryWithoutTimestamps
              , 
              , Outline ]
Keys: [ IsFileOfInterest; /home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs
      , GhcSessionIO; 
      , GetKnownTargets;  ]
Aborting previous build session took 0.00s 
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Finished build session
AsyncCancelled
2022-08-28T20:54:11.303689Z | Debug | Getting hlint ideas for  NormalizedFilePath "/home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs"
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Restarting build session due to new component
Action Queue: [ ModuleName.ghcSession
              , codeLens.GhcSession
              , RefineImports
              , eval.GetParsedModuleWithComments
              , Wingman.getIdeDynflags.GetModSummaryWithoutTimestamps
              , 
              , Outline ]
Keys: [ IsFileOfInterest; /home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs
      , GhcSessionIO; 
      , GetKnownTargets;  ]
Aborting previous build session took 0.00s 
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Getting hlint ideas for  NormalizedFilePath "/home/benjamin/code/explore/haskell/haskell-playground/src/ExplorePrelude.hs"
[Trace - 10:54:11 PM] Received notification '$/progress'.
[Trace - 10:54:11 PM] Received request 'client/registerCapability - (3)'.
[Trace - 10:54:11 PM] Sending response 'client/registerCapability - (3)'. Processing request took 1ms
2022-08-28T20:54:11.306771Z | Debug | Finished: ModuleName.ghcSession Took: 0.00s
2022-08-28T20:54:11.306943Z | Debug | Finished: codeLens.GhcSession Took: 0.00s
[Trace - 10:54:11 PM] Received request 'client/registerCapability - (4)'.
[Trace - 10:54:11 PM] Sending response 'client/registerCapability - (4)'. Processing request took 0ms
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Finished: ModuleName.ghcSession Took: 0.00s
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Finished: codeLens.GhcSession Took: 0.00s
2022-08-28T20:54:11.311872Z | Debug | Finished: Wingman.getIdeDynflags.GetModSummaryWithoutTimestamps Took: 0.01s
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Finished: Wingman.getIdeDynflags.GetModSummaryWithoutTimestamps Took: 0.01s
2022-08-28T20:54:11.314739Z | Debug | Finished: Outline Took: 0.01s
2022-08-28T20:54:11.315211Z | Debug | Finished: ModuleName.GetParsedModule Took: 0.01s
[Trace - 10:54:11 PM] Received response 'textDocument/documentSymbol - (1)' in 2083ms.
2022-08-28T20:54:11.316703Z | Debug | Finished: eval.GetParsedModuleWithComments Took: 0.01s
2022-08-28T20:54:11.317718Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:127:15 "comments" "Comments {lineComments = fromList [(Range {_start = Position {_line = 17, _character = 35}, _end = Position {_line = 17, _character = 79}},RawLineComment {getRawLineComment = \"-- NOTE: `dropWhile isSpace` only trims left\"})], blockComments = fromList []}"
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Finished: Outline Took: 0.01s
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Finished: ModuleName.GetParsedModule Took: 0.01s
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Finished: eval.GetParsedModuleWithComments Took: 0.01s
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
src/Ide/Plugin/Eval/CodeLens.hs:127:15 "comments" "Comments {lineComments = fromList [(Range {_start = Position {_line = 17, _character = 35}, _end = Position {_line = 17, _character = 79}},RawLineComment {getRawLineComment = \"-- NOTE: `dropWhile isSpace` only trims left\"})], blockComments = fromList []}"
2022-08-28T20:54:11.322201Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:127:15 "Tests" "0 tests in 0 sections 0 setups 0 lenses."
2022-08-28T20:54:11.322365Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:127:15 "tests" "0.00s"
2022-08-28T20:54:11.322428Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:127:15 "codeLens" "1.78s"
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
src/Ide/Plugin/Eval/CodeLens.hs:127:15 "Tests" "0 tests in 0 sections 0 setups 0 lenses."
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
src/Ide/Plugin/Eval/CodeLens.hs:127:15 "tests" "0.00s"
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
src/Ide/Plugin/Eval/CodeLens.hs:127:15 "codeLens" "1.78s"
2022-08-28T20:54:11.366305Z | Debug | Finished: Wingman.codeLensProvider.GetAnnotatedParsedSource Took: 0.05s
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Finished: Wingman.codeLensProvider.GetAnnotatedParsedSource Took: 0.05s
[Trace - 10:54:11 PM] Received request 'window/workDoneProgress/create - (5)'.
[Trace - 10:54:11 PM] Sending response 'window/workDoneProgress/create - (5)'. Processing request took 0ms
2022-08-28T20:54:11.537746Z | Debug | Finished: codeLens.TypeCheck Took: 0.23s
[Trace - 10:54:11 PM] Received notification '$/progress'.
2022-08-28T20:54:11.541606Z | Debug | Finished:  Took: 0.24s
2022-08-28T20:54:11.548067Z | Debug | Finished: InitialLoad Took: 0.24s
2022-08-28T20:54:11.548765Z | Debug | Finished: RefineImports Took: 0.24s
2022-08-28T20:54:11.552713Z | Debug | Finished: Wingman.codeLensProvider.GetBindings Took: 0.15s
2022-08-28T20:54:11.552906Z | Debug | Finished: codeLens.GetBindings Took: 0.00s
2022-08-28T20:54:11.553077Z | Debug | Finished: Wingman.emptyCaseScrutinees.TypeCheck Took: 0.00s
2022-08-28T20:54:11.553237Z | Debug | Finished: Wingman.emptyCaseScrutinees.GhcSessionDeps Took: 0.00s
2022-08-28T20:54:11.559347Z | Debug | Finished: codeLens.GetGlobalBindingTypeSigs Took: 0.00s
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Finished: codeLens.TypeCheck Took: 0.23s
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Finished:  Took: 0.24s
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Finished: InitialLoad Took: 0.24s
[Trace - 10:54:11 PM] Received request 'window/workDoneProgress/create - (6)'.
[Trace - 10:54:11 PM] Sending response 'window/workDoneProgress/create - (6)'. Processing request took 0ms
[Trace - 10:54:11 PM] Received notification '$/progress'.
[Trace - 10:54:11 PM] Received notification '$/progress'.
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Finished: RefineImports Took: 0.24s
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Finished: Wingman.codeLensProvider.GetBindings Took: 0.15s
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Finished: codeLens.GetBindings Took: 0.00s
[Trace - 10:54:11 PM] Received notification 'textDocument/publishDiagnostics'.
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Finished: Wingman.emptyCaseScrutinees.TypeCheck Took: 0.00s
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Finished: Wingman.emptyCaseScrutinees.GhcSessionDeps Took: 0.00s
[Trace - 10:54:11 PM] Received notification 'window/logMessage'.
Finished: codeLens.GetGlobalBindingTypeSigs Took: 0.00s
[Trace - 10:54:11 PM] Received response 'textDocument/codeLens - (2)' in 2053ms.
[Trace - 10:54:11 PM] Received notification '$/progress'.
[Trace - 10:54:11 PM] Received notification '$/progress'.
[Trace - 10:54:11 PM] Received notification '$/progress'.

@andys8
Copy link
Collaborator

andys8 commented Sep 15, 2022

Stan plugin only works with the latest HLS release (1.8) and specific GHC versions (e.g. 8.10.x).

Hlint on the other hand should work and pick up the configuration. Have been using this in multiple projects for a long time. If you want to, you can setup an small example repository (or fork one) to demonstrate an hlint configuration file that is not working the way you'd expect it to work, and I can try to reproduce on my end.

@benjamin-thomas
Copy link
Author

Thanks @andys8 that's very kind. And sorry for the late feedback. Do you think this repo is too complicated as an example ? https://github.com/benjamin-thomas/haskell-playground.

If so, I can provide a super simple repo instead if you think that'd be useful.

@pepeiborra already confirmed that he does see the hlint suggestions popping into his vscode with my project so it must be something wrong with my setup, but I have no clue as to what could be broken.

Maybe logging and being able to confirm, as a user, the success or failure to read the hlint config could be useful?

My vscode auto-upgraded hls and I can now see a stan suggestion if I move my cursor where the arrow is pointing here. It's very subtle though, I would think showing a warning by default would be better.

image

Still no hlint suggestions though :(

@andys8
Copy link
Collaborator

andys8 commented Sep 21, 2022

The current state (ce8f2623290969a44dc4f2f1583ba0a704c64c98) of https://github.com/benjamin-thomas/haskell-playground doesn't compile for me.

app/Main.hs:3:34: error:
    Module ‘ExplorePrelude’ does not export ‘someFunc’
  |
3 | import qualified ExplorePrelude (someFunc)
  |

haskell-language-server-wrapper . fails for one file:

Files that failed:
 * /home/andreas/dev/repository/haskell-playground/app/Main.hs

Completed (9 files worked, 1 file failed)

Reason is the function doesn't exist (anymore).

Hlint

Running hlint . (Version 3.3.6) in the command line seems to show a bunch of issues - which is good.

image

But does not show up in HLS

image

At the same time redundant brackets do show up

image

But if I create the default configuration and use it (with hlint --default > .hlint.yaml) the behavior is different. The result is 3 parse errors because of quasi quotes (but no actual hints):

image

Let's say I'd use a dupliate import, it'll show up on command line and with HLS:

image

image

image

QuasiQuotes

The parse error of hlint seems to be related to the use of QuasiQuotes. On command line one seems to need to pass an argument (probably can also be configured):

hlint -X QuasiQuotes .
No hints

There was a (potentially unsolved) issue years ago where haskell-ide-engine didn't work well when used with QuasiQuotes. Would assume it's solved today, but could depend on configuration - or might be interesting in case we find an issue where HLS is not working.

haskell/haskell-ide-engine#1790

Summary

  • In general I'd assume hlint might be working for you
  • There could be differences in behavior depending on the hlint configuration (best to create a config file) and version
  • Sometimes behavior (especially for tests) can be different if the project doesn't compile anymore. This doesn't seem to be the case here, but that's why I mentioned it.

If you still see the issue, could you bring the project into a state (maybe on a different branch or send me the commit id) where there is an issue that you see on command line but not with haskell language server (hlint version, ghc version, hlint config, and line number would be good information)? Then I'll have a second look to double check if I can reproduce the issue. With the current state.

@michaelpj
Copy link
Collaborator

No response for a while, so closing as stale.

@carlwr
Copy link

carlwr commented Feb 19, 2024

In case it helps anyone coming here due to experiencing that a .hlint.yaml file in the project dir isn't being picked up by HLint through the language server, here are some possible causes + related issues:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: hls-hlint-plugin component: hls-stan-plugin type: support User support tickets, questions, help with setup etc.
Projects
None yet
Development

No branches or pull requests

6 participants