haskell / haskell-language-server

Official haskell ide support via language server (LSP). Successor of ghcide & haskell-ide-engine.
Apache License 2.0
2.71k stars 368 forks source link

HLS gets confused when used concurrently for multiple projects #4164

Closed geekosaur closed 6 months ago

geekosaur commented 6 months ago

Your environment

Which OS do you use? Ubuntu 22.04 Which version of GHC do you use and how did you install it? 9.6.4 via GHCup How is your project built (alternative: link to the project)? xmonad-bsa via cabal, ghc hadrian/custom

Which LSP client (editor/plugin) do you use? VS Codium+vscode-haskell Which version of HLS do you use and how did you install it? 2.7.0.1 via GHCup Have you configured HLS in any way (especially: a hie.yaml file)? xmonad-bsa doesn't, ghc does

Steps to reproduce

I have VS Code open with two windows:

Expected behaviour

It should take hie-bios from the correct project, or possibly run separate haskell-language-server sessions for each.

Actual behaviour

On startup, I get:

/home/allbery/.config/xmonad/hadrian/hie-bios: streamingProcess: exec: invalid argument (Bad file descriptor)

The hadrian/hie-bios part comes from ghc's hie.yaml, but for some reason it's looking for it in the other project.

Debug information

Log for Haskell:

[Info  - 9:40:48 PM] Starting the server
[Trace - 9:40:48 PM] Sending request 'initialize - (0)'.
2024-04-07T01:40:48.196905Z | Error | Got EOF
Found "/home/allbery/Sources/ghc/hie.yaml" for "/home/allbery/Sources/ghc/compiler/GHC/SysTools/a"
Run entered for haskell-language-server-wrapper(haskell-language-server-wrapper) Version 2.7.0.0 x86_64 ghc-9.2.8
Current directory: /home/allbery/Sources/ghc/compiler/GHC/SysTools
Operating system: linux
Arguments: ["--lsp"]
Cradle directory: /home/allbery/Sources/ghc
Cradle type: Bios

Tool versions found on the $PATH
cabal:          3.11.0.0
stack:          2.15.5
ghc:            9.6.4

Consulting the cradle to get project GHC version...
2024-04-07T01:40:48.309743Z | Debug | ghc --numeric-version
Project GHC version: 9.6.4
haskell-language-server exe candidates: ["haskell-language-server-9.6.4","haskell-language-server"]
Launching haskell-language-server exe at:/home/allbery/.cache/ghcup/tmp/ghcup-ghc-9.6.4_hls-2.7.0.0_stack-2.15.5/haskell-language-server-9.6.4
2024-04-07T01:40:48.414359Z | Debug | ghc -v0 -package-env=- -ignore-dot-ghci -e Control.Monad.join (Control.Monad.fmap System.IO.putStr System.Environment.getExecutablePath)
2024-04-07T01:40:48.446770Z | Debug | ghc --print-libdir
2024-04-07T01:40:49.817895Z | Info | haskell-language-server version: 2.7.0.0 (GHC: 9.6.4) (PATH: /home/allbery/.local/share/ghcup/hls/2.7.0.0/lib/haskell-language-server-2.7.0.0/bin/haskell-language-server-9.6.4)
2024-04-07T01:40:49.818830Z | Info | Directory: /home/allbery/Sources/ghc
2024-04-07T01:40:49.819064Z | Info | Starting (haskell-language-server) LSP server...
  GhcideArguments {argsCommand = LSP, argsCwd = Nothing, argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsLogLevel = Info, argsLogFile = Nothing, argsLogStderr = True, argsLogClient = False, argsThreads = 0, argsProjectGhcVersion = False}
  PluginIds: [ pragmas-suggest
             , pragmas-completion
             , retrie
             , ghcide-completions
             , alternateNumberFormat
             , ghcide-code-actions-bindings
             , explicit-fields
             , ghcide-hover-and-symbols
             , ghcide-code-actions-type-signatures
             , semanticTokens
             , floskell
             , fourmolu
             , ghcide-extend-import-action
             , ghcide-code-actions-fill-holes
             , importLens
             , LSPRecorderCallback
             , cabal
             , qualifyImportedNames
             , moduleName
             , splice
             , stylish-haskell
             , changeTypeSignature
             , hlint
             , class
             , ormolu
             , callHierarchy
             , stan
             , ghcide-type-lenses
             , codeRange
             , cabal-fmt
             , eval
             , rename
             , ghcide-code-actions-imports-exports
             , gadt
             , overloaded-record-dot
             , ghcide-core
             , explicit-fixity
             , pragmas-disable ]
2024-04-07T01:40:49.821380Z | Info | Logging heap statistics every 60.00s
 2024-04-07T01:40:49.835910Z | Info | Starting LSP server...
  If you are seeing this in a terminal, you probably should have run WITHOUT the --lsp option!
  PluginIds: [ pragmas-suggest
             , pragmas-completion
             , retrie
             , ghcide-completions
             , alternateNumberFormat
             , ghcide-code-actions-bindings
             , explicit-fields
             , ghcide-hover-and-symbols
             , ghcide-code-actions-type-signatures
             , semanticTokens
             , floskell
             , fourmolu
             , ghcide-extend-import-action
             , ghcide-code-actions-fill-holes
             , importLens
             , LSPRecorderCallback
             , cabal
             , qualifyImportedNames
             , moduleName
             , splice
             , stylish-haskell
             , changeTypeSignature
             , hlint
             , class
             , ormolu
             , callHierarchy
             , stan
             , ghcide-type-lenses
             , codeRange
             , cabal-fmt
             , eval
             , rename
             , ghcide-code-actions-imports-exports
             , gadt
             , overloaded-record-dot
             , ghcide-core
             , explicit-fixity
             , pragmas-disable ]
2024-04-07T01:40:49.836435Z | Info | Starting server
2024-04-07T01:40:49.838017Z | Info | Started LSP server in 0.00s
2024-04-07T01:40:50.349834Z | Info | Registering IDE configuration: IdeConfiguration {workspaceFolders = fromList [NormalizedUri (-5588307295938827361) "file:///home/allbery/.config/xmonad"], clientSettings = hashed Nothing}
[Trace - 9:40:50 PM] Received response 'initialize - (0)' in 2145ms.
[Trace - 9:40:50 PM] Sending notification 'initialized'.
[Trace - 9:40:50 PM] Sending notification 'workspace/didChangeConfiguration'.
[Trace - 9:40:50 PM] Sending notification 'textDocument/didOpen'.
[Trace - 9:40:50 PM] Sending notification 'textDocument/didOpen'.
[Trace - 9:40:50 PM] Received request 'client/registerCapability - (0)'.
[Trace - 9:40:50 PM] Sending notification 'workspace/didChangeConfiguration'.
[Trace - 9:40:50 PM] Sending response 'client/registerCapability - (0)'. Processing request took 1ms
[Trace - 9:40:50 PM] Received request 'workspace/configuration - (1)'.
[Trace - 9:40:50 PM] Sending response 'workspace/configuration - (1)'. Processing request took 0ms
[Trace - 9:40:50 PM] Received request 'client/registerCapability - (2)'.
[Trace - 9:40:50 PM] Sending response 'client/registerCapability - (2)'. Processing request took 1ms
[Trace - 9:40:50 PM] Received request 'workspace/configuration - (3)'.
[Trace - 9:40:50 PM] Sending response 'workspace/configuration - (3)'. Processing request took 0ms
[Trace - 9:40:50 PM] Sending request 'textDocument/documentSymbol - (1)'.
[Trace - 9:40:50 PM] Received request 'workspace/configuration - (4)'.
[Trace - 9:40:50 PM] Sending response 'workspace/configuration - (4)'. Processing request took 1ms
[Trace - 9:40:50 PM] Sending request 'textDocument/codeAction - (2)'.
2024-04-07T01:40:50.357063Z | Info | Cradle path: xmonad.hs
2024-04-07T01:40:50.357207Z | Warning | No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for xmonad.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.
2024-04-07T01:40:50.357724Z | Info | invoking build tool to determine build flags (this may take some time depending on the cache)
[Trace - 9:40:50 PM] Received request 'window/workDoneProgress/create - (5)'.
[Trace - 9:40:50 PM] Sending response 'window/workDoneProgress/create - (5)'. Processing request took 0ms
[Trace - 9:40:50 PM] Received notification '$/progress'.
[Trace - 9:40:50 PM] Sending request 'textDocument/documentSymbol - (3)'.
[Trace - 9:40:50 PM] Sending request 'textDocument/foldingRange - (4)'.
[Trace - 9:40:50 PM] Sending request 'textDocument/codeLens - (5)'.
[Trace - 9:40:50 PM] Sending request 'textDocument/semanticTokens/full - (6)'.
2024-04-07T01:40:50.824970Z | Warning | No plugin handles this "textDocument/semanticTokens/full" request.
[Trace - 9:40:50 PM] Received response 'textDocument/semanticTokens/full - (6)' in 1ms. Request failed: No plugins are available to handle this SMethod_TextDocumentSemanticTokensFull request.
 Plugins installed for this method, but not available to handle this request are:
semanticTokens is disabled globally in your config. (-32601).
[Error - 9:40:50 PM] Request textDocument/semanticTokens/full failed.
  Message: No plugins are available to handle this SMethod_TextDocumentSemanticTokensFull request.
 Plugins installed for this method, but not available to handle this request are:
semanticTokens is disabled globally in your config.
  Code: -32601 
2024-04-07T01:40:51.264346Z | Info | cabal --builddir=/home/allbery/.cache/hie-bios/dist-xmonad-db6688909f6bf54c7e3838e011961c6c v2-repl --with-compiler /home/allbery/.cache/hie-bios/wrapper-b54f81dea4c0e6d1626911c526bc4e36 --with-hc-pkg /home/allbery/.cache/hie-bios/ghc-pkg-3fcc71c028a21cd4c67a2742e945d8b5 /home/allbery/.config/xmonad/xmonad.hs
  Environment Variables
    HIE_BIOS_OUTPUT: /tmp/HIE_BIOS_OUTPUT487929-0
    HIE_BIOS_GHC: /home/allbery/.local/share/ghcup/ghc/9.6.4/lib/ghc-9.6.4/bin/ghc-9.6.4
    HIE_BIOS_GHC_ARGS: -B/home/allbery/.local/share/ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib
[Trace - 9:40:51 PM] Sending notification '$/cancelRequest'.
[Trace - 9:40:51 PM] Sending request 'textDocument/documentSymbol - (7)'.
[Trace - 9:40:51 PM] Sending notification '$/cancelRequest'.
[Trace - 9:40:51 PM] Sending notification '$/cancelRequest'.
[Trace - 9:40:51 PM] Sending request 'textDocument/codeAction - (8)'.
[Trace - 9:40:51 PM] Sending notification '$/cancelRequest'.
[Trace - 9:40:51 PM] Sending notification '$/cancelRequest'.
[Trace - 9:40:51 PM] Sending request 'textDocument/documentSymbol - (9)'.
[Trace - 9:40:52 PM] Received notification '$/progress'.
2024-04-07T01:40:52.130636Z | Info | Interface files cache directory: /home/allbery/.cache/ghcide/xmonad-bsa-0.4-inplace-xmonad-bsa-5f9fda03551ae6265e4e6cfd93c57f8a96ae6b00
2024-04-07T01:40:52.138426Z | Info | Making new HscEnv. In-place unit ids: [xmonad-bsa-0.4-inplace-xmonad-bsa]
[Trace - 9:40:52 PM] Sending request 'textDocument/documentSymbol - (10)'.
[Trace - 9:40:52 PM] Sending request 'textDocument/foldingRange - (11)'.
[Trace - 9:40:52 PM] Sending request 'textDocument/codeLens - (12)'.
[Trace - 9:40:52 PM] Sending request 'textDocument/semanticTokens/full - (13)'.
2024-04-07T01:40:52.402605Z | Warning | No plugin handles this "textDocument/semanticTokens/full" request.
[Trace - 9:40:52 PM] Received response 'textDocument/semanticTokens/full - (13)' in 0ms. Request failed: No plugins are available to handle this SMethod_TextDocumentSemanticTokensFull request.
 Plugins installed for this method, but not available to handle this request are:
semanticTokens is disabled globally in your config. (-32601).
[Error - 9:40:52 PM] Request textDocument/semanticTokens/full failed.
  Message: No plugins are available to handle this SMethod_TextDocumentSemanticTokensFull request.
 Plugins installed for this method, but not available to handle this request are:
semanticTokens is disabled globally in your config.
  Code: -32601 
[Trace - 9:40:53 PM] Sending notification 'textDocument/didChange'.
[Trace - 9:40:53 PM] Sending notification '$/cancelRequest'.
[Trace - 9:40:53 PM] Received request 'client/registerCapability - (6)'.
[Trace - 9:40:53 PM] Sending response 'client/registerCapability - (6)'. Processing request took 1ms
[Trace - 9:40:53 PM] Sending notification '$/cancelRequest'.
[Trace - 9:40:53 PM] Sending notification '$/cancelRequest'.
[Trace - 9:40:54 PM] Sending request 'textDocument/foldingRange - (14)'.
[Trace - 9:40:54 PM] Sending request 'textDocument/documentSymbol - (15)'.
[Trace - 9:40:54 PM] Sending request 'textDocument/codeAction - (16)'.
[Trace - 9:40:54 PM] Sending request 'textDocument/semanticTokens/full - (17)'.
2024-04-07T01:40:54.263821Z | Warning | No plugin handles this "textDocument/semanticTokens/full" request.
[Trace - 9:40:54 PM] Received response 'textDocument/semanticTokens/full - (17)' in 1ms. Request failed: No plugins are available to handle this SMethod_TextDocumentSemanticTokensFull request.
 Plugins installed for this method, but not available to handle this request are:
semanticTokens is disabled globally in your config. (-32601).
[Error - 9:40:54 PM] Request textDocument/semanticTokens/full failed.
  Message: No plugins are available to handle this SMethod_TextDocumentSemanticTokensFull request.
 Plugins installed for this method, but not available to handle this request are:
semanticTokens is disabled globally in your config.
  Code: -32601 
[Trace - 9:40:54 PM] Sending request 'textDocument/documentSymbol - (18)'.
[Trace - 9:40:59 PM] Sending notification '$/cancelRequest'.
[Trace - 9:40:59 PM] Sending request 'textDocument/codeLens - (19)'.
[Trace - 9:41:13 PM] Sending request 'textDocument/documentHighlight - (20)'.
[Trace - 9:41:13 PM] Received response 'textDocument/documentHighlight - (20)' in 14ms.
[Trace - 9:41:13 PM] Sending notification '$/cancelRequest'.
[Trace - 9:41:13 PM] Sending request 'textDocument/codeLens - (21)'.

Log for Haskell (xmonad):

[Info  - 9:40:48 PM] Starting the server
[Trace - 9:40:48 PM] Sending request 'initialize - (0)'.
2024-04-07T01:40:48.208382Z | Error | Got EOF
No 'hie.yaml' found. Try to discover the project type!
Run entered for haskell-language-server-wrapper(haskell-language-server-wrapper) Version 2.7.0.0 x86_64 ghc-9.2.8
Current directory: /home/allbery/.config/xmonad
Operating system: linux
Arguments: ["--lsp"]
Cradle directory: /home/allbery/.config/xmonad
Cradle type: Cabal

Tool versions found on the $PATH
cabal:          3.11.0.0
stack:          2.15.5
ghc:            9.6.4

Consulting the cradle to get project GHC version...
2024-04-07T01:40:48.417856Z | Debug | cabal exec -v0 -- ghc --print-libdir
2024-04-07T01:40:48.625683Z | Debug | cabal exec -v0 -- ghc -package-env=- -ignore-dot-ghci -e Control.Monad.join (Control.Monad.fmap System.IO.putStr System.Environment.getExecutablePath)
2024-04-07T01:40:48.812629Z | Debug | cabal --builddir=/home/allbery/.cache/hie-bios/dist-xmonad-db6688909f6bf54c7e3838e011961c6c v2-exec --with-compiler /home/allbery/.cache/hie-bios/wrapper-b54f81dea4c0e6d1626911c526bc4e36 --with-hc-pkg /home/allbery/.cache/hie-bios/ghc-pkg-3fcc71c028a21cd4c67a2742e945d8b5 ghc -v0 -- --numeric-version
  Environment Variables
    HIE_BIOS_GHC: /home/allbery/.local/share/ghcup/ghc/9.6.4/lib/ghc-9.6.4/bin/ghc-9.6.4
    HIE_BIOS_GHC_ARGS: -B/home/allbery/.local/share/ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib
Project GHC version: 9.6.4
haskell-language-server exe candidates: ["haskell-language-server-9.6.4","haskell-language-server"]
Launching haskell-language-server exe at:/home/allbery/.cache/ghcup/tmp/ghcup-ghc-9.6.4_hls-2.7.0.0_stack-2.15.5/haskell-language-server-9.6.4
2024-04-07T01:40:48.940098Z | Debug | cabal exec -v0 -- ghc --print-libdir
2024-04-07T01:40:49.124970Z | Debug | cabal exec -v0 -- ghc -package-env=- -ignore-dot-ghci -e Control.Monad.join (Control.Monad.fmap System.IO.putStr System.Environment.getExecutablePath)
2024-04-07T01:40:49.420269Z | Debug | cabal --builddir=/home/allbery/.cache/hie-bios/dist-xmonad-db6688909f6bf54c7e3838e011961c6c v2-exec --with-compiler /home/allbery/.cache/hie-bios/wrapper-b54f81dea4c0e6d1626911c526bc4e36 --with-hc-pkg /home/allbery/.cache/hie-bios/ghc-pkg-3fcc71c028a21cd4c67a2742e945d8b5 ghc -v0 -- -v0 -package-env=- -ignore-dot-ghci -e Control.Monad.join (Control.Monad.fmap System.IO.putStr System.Environment.getExecutablePath)
  Environment Variables
    HIE_BIOS_GHC: /home/allbery/.local/share/ghcup/ghc/9.6.4/lib/ghc-9.6.4/bin/ghc-9.6.4
    HIE_BIOS_GHC_ARGS: -B/home/allbery/.local/share/ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib
2024-04-07T01:40:49.569136Z | Debug | cabal exec -v0 -- ghc --print-libdir
2024-04-07T01:40:49.796316Z | Debug | cabal exec -v0 -- ghc -package-env=- -ignore-dot-ghci -e Control.Monad.join (Control.Monad.fmap System.IO.putStr System.Environment.getExecutablePath)
2024-04-07T01:40:50.012854Z | Debug | cabal --builddir=/home/allbery/.cache/hie-bios/dist-xmonad-db6688909f6bf54c7e3838e011961c6c v2-exec --with-compiler /home/allbery/.cache/hie-bios/wrapper-b54f81dea4c0e6d1626911c526bc4e36 --with-hc-pkg /home/allbery/.cache/hie-bios/ghc-pkg-3fcc71c028a21cd4c67a2742e945d8b5 ghc -v0 -- --print-libdir
  Environment Variables
    HIE_BIOS_GHC: /home/allbery/.local/share/ghcup/ghc/9.6.4/lib/ghc-9.6.4/bin/ghc-9.6.4
    HIE_BIOS_GHC_ARGS: -B/home/allbery/.local/share/ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib
2024-04-07T01:40:51.344833Z | Info | haskell-language-server version: 2.7.0.0 (GHC: 9.6.4) (PATH: /home/allbery/.local/share/ghcup/hls/2.7.0.0/lib/haskell-language-server-2.7.0.0/bin/haskell-language-server-9.6.4)
2024-04-07T01:40:51.347296Z | Info | Directory: /home/allbery/.config/xmonad
2024-04-07T01:40:51.347531Z | Info | Starting (haskell-language-server) LSP server...
  GhcideArguments {argsCommand = LSP, argsCwd = Nothing, argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsLogLevel = Info, argsLogFile = Nothing, argsLogStderr = True, argsLogClient = False, argsThreads = 0, argsProjectGhcVersion = False}
  PluginIds: [ pragmas-suggest
             , pragmas-completion
             , retrie
             , ghcide-completions
             , alternateNumberFormat
             , ghcide-code-actions-bindings
             , explicit-fields
             , ghcide-hover-and-symbols
             , ghcide-code-actions-type-signatures
             , semanticTokens
             , floskell
             , fourmolu
             , ghcide-extend-import-action
             , ghcide-code-actions-fill-holes
             , importLens
             , LSPRecorderCallback
             , cabal
             , qualifyImportedNames
             , moduleName
             , splice
             , stylish-haskell
             , changeTypeSignature
             , hlint
             , class
             , ormolu
             , callHierarchy
             , stan
             , ghcide-type-lenses
             , codeRange
             , cabal-fmt
             , eval
             , rename
             , ghcide-code-actions-imports-exports
             , gadt
             , overloaded-record-dot
             , ghcide-core
             , explicit-fixity
             , pragmas-disable ]
2024-04-07T01:40:51.349750Z | Info | Logging heap statistics every 60.00s
 2024-04-07T01:40:51.358788Z | Info | Starting LSP server...
  If you are seeing this in a terminal, you probably should have run WITHOUT the --lsp option!
  PluginIds: [ pragmas-suggest
             , pragmas-completion
             , retrie
             , ghcide-completions
             , alternateNumberFormat
             , ghcide-code-actions-bindings
             , explicit-fields
             , ghcide-hover-and-symbols
             , ghcide-code-actions-type-signatures
             , semanticTokens
             , floskell
             , fourmolu
             , ghcide-extend-import-action
             , ghcide-code-actions-fill-holes
             , importLens
             , LSPRecorderCallback
             , cabal
             , qualifyImportedNames
             , moduleName
             , splice
             , stylish-haskell
             , changeTypeSignature
             , hlint
             , class
             , ormolu
             , callHierarchy
             , stan
             , ghcide-type-lenses
             , codeRange
             , cabal-fmt
             , eval
             , rename
             , ghcide-code-actions-imports-exports
             , gadt
             , overloaded-record-dot
             , ghcide-core
             , explicit-fixity
             , pragmas-disable ]
2024-04-07T01:40:51.359222Z | Info | Starting server
2024-04-07T01:40:51.362539Z | Info | Started LSP server in 0.00s
2024-04-07T01:40:51.932360Z | Info | Registering IDE configuration: IdeConfiguration {workspaceFolders = fromList [NormalizedUri (-5588307295938827361) "file:///home/allbery/.config/xmonad"], clientSettings = hashed Nothing}
[Trace - 9:40:51 PM] Received response 'initialize - (0)' in 3720ms.
[Trace - 9:40:51 PM] Sending notification 'initialized'.
[Trace - 9:40:51 PM] Sending notification 'workspace/didChangeConfiguration'.
[Trace - 9:40:51 PM] Sending notification 'textDocument/didOpen'.
[Trace - 9:40:51 PM] Received request 'client/registerCapability - (0)'.
[Trace - 9:40:51 PM] Sending notification 'workspace/didChangeConfiguration'.
[Trace - 9:40:51 PM] Sending response 'client/registerCapability - (0)'. Processing request took 0ms
[Trace - 9:40:51 PM] Received request 'workspace/configuration - (1)'.
[Trace - 9:40:51 PM] Sending response 'workspace/configuration - (1)'. Processing request took 0ms
[Trace - 9:40:51 PM] Received request 'client/registerCapability - (2)'.
[Trace - 9:40:51 PM] Sending response 'client/registerCapability - (2)'. Processing request took 0ms
[Trace - 9:40:51 PM] Sending request 'textDocument/documentSymbol - (1)'.
[Trace - 9:40:51 PM] Received request 'workspace/configuration - (3)'.
[Trace - 9:40:51 PM] Sending response 'workspace/configuration - (3)'. Processing request took 0ms
[Trace - 9:40:51 PM] Sending request 'textDocument/codeAction - (2)'.
[Trace - 9:40:51 PM] Received request 'workspace/configuration - (4)'.
[Trace - 9:40:51 PM] Sending response 'workspace/configuration - (4)'. Processing request took 1ms
2024-04-07T01:40:51.941641Z | Info | Cradle path: xmonad.hs
2024-04-07T01:40:51.941756Z | Warning | No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for xmonad.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.
2024-04-07T01:40:51.942150Z | Info | invoking build tool to determine build flags (this may take some time depending on the cache)
[Trace - 9:40:51 PM] Received request 'window/workDoneProgress/create - (5)'.
[Trace - 9:40:51 PM] Sending response 'window/workDoneProgress/create - (5)'. Processing request took 0ms
[Trace - 9:40:51 PM] Received notification '$/progress'.
[Trace - 9:40:51 PM] Sending request 'textDocument/documentSymbol - (3)'.
[Trace - 9:40:52 PM] Received request 'window/workDoneProgress/create - (6)'.
[Trace - 9:40:52 PM] Sending response 'window/workDoneProgress/create - (6)'. Processing request took 0ms
[Trace - 9:40:52 PM] Received notification '$/progress'.
[Trace - 9:40:52 PM] Sending request 'textDocument/documentSymbol - (4)'.
[Trace - 9:40:52 PM] Sending request 'textDocument/foldingRange - (5)'.
[Trace - 9:40:52 PM] Sending request 'textDocument/codeLens - (6)'.
[Trace - 9:40:52 PM] Received notification '$/progress'.
[Trace - 9:40:52 PM] Sending request 'textDocument/semanticTokens/full - (7)'.
2024-04-07T01:40:52.402140Z | Warning | No plugin handles this "textDocument/semanticTokens/full" request.
[Trace - 9:40:52 PM] Received response 'textDocument/semanticTokens/full - (7)' in 1ms. Request failed: No plugins are available to handle this SMethod_TextDocumentSemanticTokensFull request.
 Plugins installed for this method, but not available to handle this request are:
semanticTokens is disabled globally in your config. (-32601).
[Error - 9:40:52 PM] Request textDocument/semanticTokens/full failed.
  Message: No plugins are available to handle this SMethod_TextDocumentSemanticTokensFull request.
 Plugins installed for this method, but not available to handle this request are:
semanticTokens is disabled globally in your config.
  Code: -32601 
2024-04-07T01:40:52.928545Z | Info | cabal --builddir=/home/allbery/.cache/hie-bios/dist-xmonad-db6688909f6bf54c7e3838e011961c6c v2-repl --with-compiler /home/allbery/.cache/hie-bios/wrapper-b54f81dea4c0e6d1626911c526bc4e36 --with-hc-pkg /home/allbery/.cache/hie-bios/ghc-pkg-3fcc71c028a21cd4c67a2742e945d8b5 /home/allbery/.config/xmonad/xmonad.hs
  Environment Variables
    HIE_BIOS_OUTPUT: /tmp/HIE_BIOS_OUTPUT487934-0
    HIE_BIOS_GHC: /home/allbery/.local/share/ghcup/ghc/9.6.4/lib/ghc-9.6.4/bin/ghc-9.6.4
    HIE_BIOS_GHC_ARGS: -B/home/allbery/.local/share/ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib
[Trace - 9:40:53 PM] Received notification '$/progress'.
2024-04-07T01:40:53.657682Z | Info | Interface files cache directory: /home/allbery/.cache/ghcide/xmonad-bsa-0.4-inplace-xmonad-bsa-5f9fda03551ae6265e4e6cfd93c57f8a96ae6b00
2024-04-07T01:40:53.661752Z | Info | Making new HscEnv. In-place unit ids: [xmonad-bsa-0.4-inplace-xmonad-bsa]
[Trace - 9:40:53 PM] Received notification '$/progress'.
[Trace - 9:40:53 PM] Received request 'client/registerCapability - (7)'.
[Trace - 9:40:53 PM] Sending response 'client/registerCapability - (7)'. Processing request took 0ms
[Trace - 9:40:53 PM] Received request 'client/registerCapability - (8)'.
[Trace - 9:40:53 PM] Sending response 'client/registerCapability - (8)'. Processing request took 0ms
[Trace - 9:40:53 PM] Received request 'client/registerCapability - (9)'.
[Trace - 9:40:53 PM] Sending response 'client/registerCapability - (9)'. Processing request took 0ms
[Trace - 9:40:53 PM] Received response 'textDocument/documentSymbol - (1)' in 1819ms.
[Trace - 9:40:53 PM] Received response 'textDocument/documentSymbol - (3)' in 1809ms.
[Trace - 9:40:53 PM] Received response 'textDocument/documentSymbol - (4)' in 1523ms.
[Trace - 9:40:53 PM] Received request 'window/workDoneProgress/create - (10)'.
[Trace - 9:40:53 PM] Sending response 'window/workDoneProgress/create - (10)'. Processing request took 0ms
[Trace - 9:40:53 PM] Received notification '$/progress'.
[Trace - 9:40:53 PM] Sending notification 'textDocument/didChange'.
[Trace - 9:40:53 PM] Sending notification '$/cancelRequest'.
[Trace - 9:40:53 PM] Sending notification '$/cancelRequest'.
[Trace - 9:40:53 PM] Received notification '$/progress'.
[Trace - 9:40:53 PM] Received notification 'textDocument/publishDiagnostics'.
[Trace - 9:40:53 PM] Received response 'textDocument/codeAction - (2)' in 1881ms.
[Trace - 9:40:53 PM] Received response 'textDocument/codeLens - (6)' in 1501ms.
[Trace - 9:40:53 PM] Received response 'textDocument/foldingRange - (5)' in 1566ms. Request failed: codeRange: Rule Failed: GetCodeRange (-32803).
[Error - 9:40:53 PM] Request textDocument/foldingRange failed.
  Message: codeRange: Rule Failed: GetCodeRange
  Code: -32803 
[Trace - 9:40:53 PM] Received request 'window/workDoneProgress/create - (11)'.
[Trace - 9:40:53 PM] Sending response 'window/workDoneProgress/create - (11)'. Processing request took 0ms
[Trace - 9:40:53 PM] Received notification '$/progress'.
[Trace - 9:40:53 PM] Received notification 'textDocument/publishDiagnostics'.
[Trace - 9:40:53 PM] Received notification '$/progress'.
[Trace - 9:40:54 PM] Sending request 'textDocument/foldingRange - (8)'.
[Trace - 9:40:54 PM] Received response 'textDocument/foldingRange - (8)' in 3ms. Request failed: codeRange: Rule Failed: GetCodeRange (-32803).
[Error - 9:40:54 PM] Request textDocument/foldingRange failed.
  Message: codeRange: Rule Failed: GetCodeRange
  Code: -32803 
[Trace - 9:40:54 PM] Sending request 'textDocument/documentSymbol - (9)'.
[Trace - 9:40:54 PM] Received response 'textDocument/documentSymbol - (9)' in 3ms.
[Trace - 9:40:54 PM] Sending request 'textDocument/codeAction - (10)'.
[Trace - 9:40:54 PM] Sending request 'textDocument/semanticTokens/full - (11)'.
2024-04-07T01:40:54.263580Z | Warning | No plugin handles this "textDocument/semanticTokens/full" request.
[Trace - 9:40:54 PM] Received response 'textDocument/semanticTokens/full - (11)' in 1ms. Request failed: No plugins are available to handle this SMethod_TextDocumentSemanticTokensFull request.
 Plugins installed for this method, but not available to handle this request are:
semanticTokens is disabled globally in your config. (-32601).
[Error - 9:40:54 PM] Request textDocument/semanticTokens/full failed.
  Message: No plugins are available to handle this SMethod_TextDocumentSemanticTokensFull request.
 Plugins installed for this method, but not available to handle this request are:
semanticTokens is disabled globally in your config.
  Code: -32601 
[Trace - 9:40:54 PM] Sending request 'textDocument/documentSymbol - (12)'.
[Trace - 9:40:54 PM] Received response 'textDocument/documentSymbol - (12)' in 4ms.
[Trace - 9:40:54 PM] Received response 'textDocument/codeAction - (10)' in 253ms.
[Trace - 9:40:59 PM] Sending request 'textDocument/codeLens - (13)'.
[Trace - 9:40:59 PM] Received response 'textDocument/codeLens - (13)' in 3ms.
[Trace - 9:41:13 PM] Sending request 'textDocument/documentHighlight - (14)'.
[Trace - 9:41:13 PM] Received response 'textDocument/documentHighlight - (14)' in 10ms.
[Trace - 9:41:13 PM] Sending request 'textDocument/codeLens - (15)'.
[Trace - 9:41:13 PM] Received response 'textDocument/codeLens - (15)' in 3ms.
2024-04-07T01:41:51.408633Z | Info | Live bytes: 34.87MB Heap size: 1162.87MB
2024-04-07T01:42:51.469429Z | Info | Live bytes: 34.87MB Heap size: 1162.87MB
geekosaur commented 6 months ago

While researching how to get debug output from VS Code, I found something about multi-root workspaces; reading that, it may be that this is a VS Code wart and I need to manually create new roots in my workspace?

geekosaur commented 6 months ago

Looks like this is indeed some (to me) very unintuitive behavior in VS Code which breaks not only HLS but other language servers if you open files in unrelated projects. Closing.