mrcjkb / haskell-tools.nvim

Supercharge your Haskell experience in neovim!
GNU General Public License v2.0
419 stars 18 forks source link

`codeRange: Rule Failed: GetCodeRange` related to `haskell-tools.nvim`? #251

Closed Per48edjes closed 10 months ago

Per48edjes commented 10 months ago

Question

{ Sorry to be such a bother! }

Since updating to 2.x.x., I'm getting this error:

Error executing vim.schedule lua callback: UnhandledPromiseRejection with the reason:
RPC[Error] code_name = unknown, code = -32803, message = "codeRange: Rule Failed: GetCodeRange"

I'm still trying to figure out how to consistently replicate it, but for now it seems to happen whenever I'm writing out a type signature but have yet to give a value-level definition:

image

Just wondering if you think this is a haskell-tools.nvim config issue or perhaps something to do with the language server itself?

(My current config is exactly the one introduced in AstroNvim/astrocommunity#553.)

mrcjkb commented 10 months ago

Hi. Can you reproduce this with a minimal config? If you can't, try adding the plugins you use, until you can.

Usually, UnhandledPromiseRejection with an LSP error is caused by a plugin or an autocommand trying to use LSP capabilities without properly checking if the language server supports them, or without proper error handling.

Does the error message appear while you're in insert mode? If so, it might be a completion plugin.

for now it seems to happen whenever I'm writing out a type signature but have yet to give a value-level definition

This could be an indicator that a plugin or an autocommand is calling something like vim.lsp.buf.format (or something else) that fails if haskell-language-server can't parse the code properly.

mrcjkb commented 10 months ago

And don't worry about "being a bother" when reporting potential bugs 😄

Per48edjes commented 10 months ago

Will give it a go with the minimal config...one additional observation in the meanwhile is this is triggered when I escape out of insert mode (back to normal mode) if ill-formed Haskell is introduced while in insert mode.

FWIW, this behavior doesn't seem to occur when I'm developing in other languages (tested with C and Python) with the same Neovim set up.

mrcjkb commented 10 months ago

FWIW, this behavior doesn't seem to occur when I'm developing in other languages (tested with C and Python) with the same Neovim set up.

The error is thrown by haskell-language-server - specifically, the hls-code-range-plugin, which provides the selection-range and folding-range features. That's why you're not getting it with other languages.

when I escape out of insert mode (back to normal mode)

This tells me that you (or a plugin) must have an autocommand set up that executes something that causes the error to be thrown on an InsertLeave event. haskell-tools does set up an autocommand for the InsertLeave event, which refreshes code-lenses. But the hls-code-range-plugin does not provide any code lenses, so I don't see how that could cause the error in your screen shot. Does calling :lua vim.lsp.codelens.refresh() result in the error?

A likely culprit that might be causing error messages from the hls-code-range-plugin would be nvim-ufo: It sets up an autocommand on InsertLeave that updates folds, which uses the folding-range feature, provided by the hls-code-range-plugin.

You can check which autocommands are active by running :autocmd. Or, to see where it is defined, you can run something like: :verbose autocmd InsertLeave

Per48edjes commented 10 months ago

Does calling :lua vim.lsp.codelens.refresh() result in the error?

Doesn't seem so!

Also, that was great sleuthing -- when I disable nvim-ufo (with :UfoDisable) the issue goes away.

mrcjkb commented 10 months ago

Hmm, interesting. What's the output of :checkhealth haskell-tools?

Asking because I use nvim-ufo, and don't have the same error on InsertLeave. So this might be hard for the nvim-ufo author to reproduce. It could also be a bug in the haskell-language-server version you're using. You could find that out by trying to reproduce it in VSCode with the same version.

mrcjkb commented 10 months ago

Maybe you need to register foldingRange capabilities. https://github.com/kevinhwang91/nvim-ufo#minimal-configuration

Although I think nvim-ufo should be checking both the server and client capabilities.

mrcjkb commented 10 months ago

I've just pushed a release that automatically adds foldingRange capabilities if nvim-ufo is installed: https://github.com/mrcjkb/haskell-tools.nvim/pull/254

Maybe that will solve the issue for you?

Per48edjes commented 10 months ago

Hmmmm...I updated to #254 , but the issue is still persisting for me 😞 .

haskell-tools: require("haskell-tools.health").check()

Checking for Lua dependencies ~
- OK [nvim-lua/plenary.nvim](https://github.com/nvim-lua/plenary.nvim) installed.
- OK [nvim-telescope/telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) installed.

Checking external dependencies ~
- OK haskell-language-server: found haskell-language-server version: 2.2.0.0 (GHC: 8.10.7) (PATH: /Users/rdayabhai/.local/share/nvim/mason/packages/haskell-language-server/lib/haskell-language-server-2.2.0.0/bin/haskell-language-server-wrapper)
- WARNING       hoogle: not found.
  Install [ndmitchell/hoogle](https://github.com/ndmitchell/hoogle) for extended capabilities.
  Recommended for better Hoogle search performance.
  Without a local installation, the web API will be used by default.
  Required if the hoogle mode is set to "telescope-local".

- WARNING       fast-tags: not found.
  Install [fast-tags](https://hackage.haskell.org/package/fast-tags) for extended capabilities.
  Optional, for generating tags as a `tagfunc` fallback.

- OK curl: found curl 7.85.0 (x86_64-apple-darwin22.0) libcurl/7.85.0 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.11 nghttp2/1.47.0
- OK haskell-debug-adapter: found haskell-debug-adapter-0.0.38.0
- OK ghci-dap: found The Glorious Glasgow Haskell Compilation System, version 9.2.7

Checking config ~
- OK No errors found in config.
mrcjkb commented 10 months ago

Hmm, I'm using haskell-language-server version 2.0.0.1. So maybe it's a haskell-language-server bug?

Per48edjes commented 10 months ago

Tried rolling back to v2.0.0.1...same error still gets thrown!

mrcjkb commented 10 months ago

Can you reproduce the same behaviour in VSCode? (trying to figure out if it's an issue with haskell-language-server on MacOS or nvim-ufo). I'm afraid I don't own a mac, so I can't do this myself :disappointed:

In the meantime, as a workaround, you can disable LSP-based folding (and use treesitter instead) for Haskell files in nvim-ufo:

require('ufo').setup {
  provider_selector = function(filetype)
    if filetype == 'haskell' then
      return { 'treesitter', 'indent' }
    end
    return nil -- use default
  end,
-- other options...
}
mrcjkb commented 10 months ago

By the way, you might be able to see exactly where the error is thrown in nvim-ufo if you can reproduce it by calling:

:lua require('ufo.fold').update(0)

I think that's the function that is wrapped in vim.schedule, and because it's wrapped, we don't see the exact location.

Per48edjes commented 10 months ago

Just downloaded VSCode and installed the following extensions:

image

The language server seems to work fine -- wasn't able to reproduce the bug with the Vim extension enabled... Let me give your most recent suggestion a shot!

Per48edjes commented 10 months ago

By the way, you might be able to see exactly where the error is thrown in nvim-ufo if you can reproduce it by calling:

:lua require('ufo.fold').update(0)

I think that's the function that is wrapped in vim.schedule, and because it's wrapped, we don't see the exact location.

Hmmm, running that command doesn't do anything as far as I can tell... 🤔 It really only rears its head on that InsertLeave event.

Interestingly, running this command does reproduce the bug:

:lua require('ufo.lib.event'):emit('InsertLeave', vim.api.nvim_get_current_buf())
Per48edjes commented 10 months ago

In the meantime, as a workaround, you can disable LSP-based folding (and use treesitter instead) for Haskell files in nvim-ufo:

require('ufo').setup {
  provider_selector = function(filetype)
    if filetype == 'haskell' then
      return { 'treesitter', 'indent' }
    end
    return nil -- use default
  end,
-- other options...
}

Updated my config with this... 🥁 ...and the issue still persists. 😆

mrcjkb commented 10 months ago

Interesting. So if you run

:autocmd! Ufo InsertLeave *

which should disable nvim-ufo's autocommand, you don't get the error and you can use nvim-ufo to fold/unfold manually?

Interestingly, running this command does reproduce the bug

Hmm, and I guess it reproduces it while not in insert mode? I'm off for today, but I'll see if that passes any other callbacks to vim.schedule in the next few days.

mrcjkb commented 10 months ago

Will give it a go with the minimal config...

Forgot about this... Were you able to reproduce it with a minimal config (that includes nvim-ufo)? - just to make sure there's not a third plugin causing this...

Per48edjes commented 10 months ago

I'm off for today, but I'll see if that passes any other callbacks passed to vim.schedule in the next few days.

I can't tell you how much I appreciate the help / hand-holding, @mrcjkb ... thank you so very much!

Interesting. So if you run

:autocmd! Ufo InsertLeave *

which should disable nvim-ufo's autocommand, you don't get the error and you can use nvim-ufo to fold/unfold manually?

Not quite. I run :autocmd! Ufo InsertLeave *, but the same, wonky error is raised.

Hmm, and I guess it reproduces it while not in insert mode?

Yep, exactly.

Per48edjes commented 10 months ago

Forgot about this... Were you able to reproduce it with a minimal config (that includes nvim-ufo)? - just to make sure there's not a third plugin causing this...

Working on this now (slipped through the cracks for me, too -- my fault!)...

Per48edjes commented 10 months ago

With the minimal config as-is (i.e., without nvim-ufo), the error cannot be replicated.

With the minimal config and nvim-ufo installed (using tree-sitter as the main provider), the error cannot be replicated.

With the minimal config and nvim-ufo + nvim-lspconfig (using the LSP as the main provider), the error is replicated:

image

See here for the actual config used to replicate:

init.lua ```lua -- Minimal nvim config with lazy -- Assumes a directory in $NVIM_DATA_MINIMAL -- Start with -- -- export NVIM_DATA_MINIMAL=$(mktemp -d) -- export NVIM_APP_NAME="nvim-ht-minimal" -- nvim -u minimal.lua -- -- Then exit out of neovim and start again. -- Ignore default config local config_path = vim.fn.stdpath('config') vim.opt.rtp:remove(config_path) -- Ignore default plugins local data_path = vim.fn.stdpath('data') local pack_path = data_path .. '/site' vim.opt.packpath:remove(pack_path) -- bootstrap lazy.nvim data_path = assert(os.getenv('NVIM_DATA_MINIMAL'), '$NVIM_DATA_MINIMAL environment variable not set!') local lazypath = data_path .. '/lazy/lazy.nvim' local uv = vim.uv ---@diagnostic disable-next-line: deprecated or vim.loop if not uv.fs_stat(lazypath) then vim.fn.system { 'git', 'clone', '--filter=blob:none', 'git@github.com:folke/lazy.nvim.git', '--branch=stable', lazypath, } end vim.opt.rtp:prepend(lazypath) local lazy = require('lazy') lazy.setup({ { 'mrcjkb/haskell-tools.nvim', branch = '2.x.x', init = function() -- Configure haskell-tools.nvim here vim.g.haskell_tools = {} end, dependencies = { 'nvim-lua/plenary.nvim', -- Uncomment or add any optional dependencies needed to reproduce the issue -- 'nvim-telescope/telescope.nvim', -- 'akinsho/toggleterm.nvim', }, ft = { 'haskell', 'lhaskell', 'cabal', 'cabalproject' }, }, -- Add any other plugins needed to reproduce the issue. -- see https://github.com/folke/lazy.nvim#-lazynvim for details. {'nvim-treesitter/nvim-treesitter', cmd = ':TSUpdate'}, { 'kevinhwang91/nvim-ufo', dependencies = {'kevinhwang91/promise-async'} }, { 'neovim/nvim-lspconfig' }, }, { root = data_path, state = data_path .. '/lazy-state.json', lockfile = data_path .. '/lazy-lock.json' }) -- FROM NVIM-UFO MINIMAL CONFIG: -- https://github.com/kevinhwang91/nvim-ufo#minimal-configuration -- Option 2: nvim lsp as LSP client -- Tell the server the capability of foldingRange, -- Neovim hasn't added foldingRange to default capabilities, users must add it manually local capabilities = vim.lsp.protocol.make_client_capabilities() capabilities.textDocument.foldingRange = { dynamicRegistration = false, lineFoldingOnly = true } local language_servers = require("lspconfig").util.available_servers() -- or list servers manually like {'gopls', 'clangd'} for _, ls in ipairs(language_servers) do require('lspconfig')[ls].setup({ capabilities = capabilities -- you can add other fields for setting up lsp server in this table }) end require('ufo').setup() ```
mrcjkb commented 10 months ago

:thinking: I still can't reproduce it on my device with the minimal config you posted.

But judging by the following snippet:

local language_servers = require("lspconfig").util.available_servers() -- or list servers manually like {'gopls', 'clangd'}
for _, ls in ipairs(language_servers) do
    require('lspconfig')[ls].setup({
        capabilities = capabilities
        -- you can add other fields for setting up lsp server in this table
    })

For me (with your minimal config), require("lspconfig").util.available_servers() returns an empty table. But maybe in yours it somehow includes hls (which is the lspconfig configuration for haskell-language-server)? If this is the case, then calling require('lspconfig').hls.setup() could indeed lead to a conflict. But your astrocommunity PR (https://github.com/AstroNvim/astrocommunity/pull/553) didn't remove

astronvim.lsp.skip_setup = utils.list_insert_unique(astronvim.lsp.skip_setup, "hls")

so I don't see how that could be happening.

Can you check if the client for hls is running by calling :LspInfo, or if hls has been set up by calling

:lua =vim.api.nvim_get_autocmds({ event = 'FileType', group = 'lspconfig' , pattern = 'haskell' })
Per48edjes commented 10 months ago

🤔 I still can't reproduce it on my device with the minimal config you posted.

Yiiiiiikes. 🤯 Here's what's even more befuddling: I left a couple of the test buffers open for a while and came back to them...and the error stops getting thrown. But then I restart NeoVim, and the issue resurfaces.

(Note all of the observations below are for my regular, AstroVim setup.)

Here are the attached clients per :LspInfo:

 Language client log: /Users/rdayabhai/.local/state/nvim/lsp.log
 Detected filetype:   haskell

 3 client(s) attached to this buffer: 

 Client: haskell-tools.nvim (id: 1, bufnr: [1])
    filetypes:       
    autostart:       false
    root directory:  /Users/rdayabhai/code/Simple-Haskell-Handbook
    cmd:             haskell-language-server-wrapper --lsp --logfile /Users/rdayabhai/.local/state/nvim/haskell-language-server.log

 Client: null-ls (id: 2, bufnr: [1])
    filetypes:       luau, lua, css, vue, typescriptreact, graphql, markdown.mdx, handlebars, typescript, javascriptreact, markdown, javascript, json, jsonc, scss, less, yaml, html, python, sh, haskell
    autostart:       false
    root directory:  /Users/rdayabhai/code/Simple-Haskell-Handbook
    cmd:             <function>

 Client: copilot (id: 3, bufnr: [1])
    filetypes:       
    autostart:       false
    root directory:  /Users/rdayabhai/code/Simple-Haskell-Handbook
    cmd:             node /Users/rdayabhai/.local/share/nvim/lazy/copilot.lua/copilot/index.js

 Configured servers list: clangd, pyright, ruff_lsp, bashls, dockerls, yamlls, marksman, jsonls, lua_ls

When I run :lua =vim.api.nvim_get_autocmds({ event = 'FileType', group = 'lspconfig' , pattern = 'haskell' }), an empty table is returned: {}.

mrcjkb commented 10 months ago

Yiiiiiikes.

Yup, that was my reaction, too.

I left a couple of the test buffers open for a while and came back to them...and the error stops getting thrown. But then I restart NeoVim, and the issue resurfaces.

Thanks for the outputs. It looks like lspconfig isn't the culprit either. Let's try some more scenarios:

We can try and find out what is causing haskell-language-server to throw the error with the following steps:

Per48edjes commented 10 months ago

Followed those steps (with the current AstroNvim set up), see below for the log output:

Logs ```lua 2023-09-13T15:33:36.745236Z | Info | haskell-language-server version: 2.2.0.0 (GHC: 9.2.8) (PATH: /Users/rdayabhai/.local/share/nvim/mason/packages/haskell-language-server/lib/haskell-language-server-2.2.0.0/bin/haskell-language-server-9.2.8) 2023-09-13T15:33:36.746534Z | Info | Directory: /Users/rdayabhai/code/Simple-Haskell-Handbook 2023-09-13T15:33:36.746960Z | Info | Starting (haskell-language-server) LSP server... GhcideArguments {argsCommand = LSP, argsCwd = Nothing, argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsLogLevel = Debug, argsLogFile = Just "/Users/rdayabhai/.local/state/nvim/haskell-language-server.log", argsLogStderr = True, argsLogClient = False, argsThreads = 0, argsProjectGhcVersion = False} PluginIds: [ pragmas-suggest , pragmas-completion , ghcide-extend-import-action , LSPRecorderCallback , class , splice , ormolu , stylish-haskell , ghcide-code-actions-fill-holes , callHierarchy , moduleName , changeTypeSignature , ghcide-completions , retrie , explicit-fields , alternateNumberFormat , overloaded-record-dot , cabal-fmt , codeRange , qualifyImportedNames , hlint , floskell , ghcide-code-actions-imports-exports , cabal , ghcide-code-actions-bindings , ghcide-type-lenses , ghcide-hover-and-symbols , ghcide-code-actions-type-signatures , rename , importLens , fourmolu , gadt , eval , ghcide-core , explicit-fixity , pragmas-disable ] 2023-09-13T15:33:36.752327Z | Info | Logging heap statistics every 60.00s 2023-09-13T15:33:36.937950Z | 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 , ghcide-extend-import-action , LSPRecorderCallback , class , splice , ormolu , stylish-haskell , ghcide-code-actions-fill-holes , callHierarchy , moduleName , changeTypeSignature , ghcide-completions , retrie , explicit-fields , alternateNumberFormat , overloaded-record-dot , cabal-fmt , codeRange , qualifyImportedNames , hlint , floskell , ghcide-code-actions-imports-exports , cabal , ghcide-code-actions-bindings , ghcide-type-lenses , ghcide-hover-and-symbols , ghcide-code-actions-type-signatures , rename , importLens , fourmolu , gadt , eval , ghcide-core , explicit-fixity , pragmas-disable ] 2023-09-13T15:33:36.939808Z | Info | Starting server 2023-09-13T15:33:36.942396Z | Info | Started LSP server in 0.00s 2023-09-13T15:33:36.947121Z | Debug | executing command: stack setup --silent 2023-09-13T15:33:38.050366Z | Debug | executing command: stack exec ghc -- --print-libdir 2023-09-13T15:33:38.443826Z | Debug | Setting initial dynflags... 2023-09-13T15:33:38.444011Z | Debug | shouldRunSubset: False 2023-09-13T15:33:38.444178Z | Debug | Initializing exports map from hiedb 2023-09-13T15:33:38.444860Z | Info | Registering IDE configuration: IdeConfiguration {workspaceFolders = fromList [NormalizedUri 105494707450451055 "file:///Users/rdayabhai/code/Simple-Haskell-Handbook"], clientSettings = hashed Nothing} 2023-09-13T15:33:38.446308Z | Debug | LSP: set new config: { "cabalFormattingProvider": "cabalfmt", "checkParents": "CheckOnSave", "checkProject": true, "formattingProvider": "fourmolu", "maxCompletions": 40, "plugin": { "alternateNumberFormat": { "globalOn": true }, "callHierarchy": { "globalOn": true }, "changeTypeSignature": { "globalOn": true }, "class": { "codeActionsOn": true, "codeLensOn": true }, "eval": { "config": { "diff": true, "exception": true }, "globalOn": true }, "excplicitFixity": { "globalOn": true }, "gadt": { "globalOn": true }, "ghcide-code-actions-bindings": { "globalOn": true }, "ghcide-code-actions-fill-holes": { "globalOn": true }, "ghcide-code-actions-imports-exports": { "globalOn": true }, "ghcide-code-actions-type-signatures": { "globalOn": true }, "ghcide-completions": { "config": { "autoExtendOn": true, "snippetsOn": true }, "globalOn": true }, "ghcide-hover-and-symbols": { "hoverOn": true, "symbolsOn": true }, "ghcide-type-lenses": { "config": { "mode": "always" }, "globalOn": true }, "haddockComments": { "globalOn": true }, "hlint": { "codeActionsOn": true, "diagnosticsOn": true }, "importLens": { "codeActionsOn": true, "codeLensOn": true, "globalOn": true }, "moduleName": { "globalOn": true }, "pragmas": { "codeActionsOn": true, "completionOn": true }, "qualifyImportedNames": { "globalOn": true }, "refineImports": { "codeActionsOn": true, "codeLensOn": true }, "rename": { "config": { "crossModule": true }, "globalOn": true }, "retrie": { "globalOn": true }, "splice": { "globalOn": true }, "tactics": { "codeActionsOn": true, "codeLensOn": true, "config": { "auto_gas": 4, "max_use_ctor_actions": 5, "proofstate_styling": true, "timeout_duration": 2 }, "hoverOn": true } } } 2023-09-13T15:33:38.447178Z | Debug | Configuration changed: Config {checkParents = CheckOnSave, checkProject = True, formattingProvider = "fourmolu", cabalFormattingProvider = "cabalfmt", maxCompletions = 40, plugins = fromList [(PluginId "alternateNumberFormat",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "callHierarchy",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "changeTypeSignature",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "class",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "eval",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList [("diff",Bool True),("exception",Bool True)]}),(PluginId "excplicitFixity",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "gadt",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "ghcide-code-actions-bindings",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "ghcide-code-actions-fill-holes",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "ghcide-code-actions-imports-exports",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "ghcide-code-actions-type-signatures",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "ghcide-completions",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList [("autoExtendOn",Bool True),("snippetsOn",Bool True)]}),(PluginId "ghcide-hover-and-symbols",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "ghcide-type-lenses",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList [("mode",String "always")]}),(PluginId "haddockComments",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "hlint",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "importLens",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "moduleName",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "pragmas",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "qualifyImportedNames",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "refineImports",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "rename",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList [("crossModule",Bool True)]}),(PluginId "retrie",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "splice",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "tactics",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList [("auto_gas",Number 4.0),("max_use_ctor_actions",Number 5.0),("proofstate_styling",Bool True),("timeout_duration",Number 2.0)]})]} 2023-09-13T15:33:38.448490Z | Debug | Shake session initialized 2023-09-13T15:33:38.449859Z | Debug | Done initializing exports map from hiedb. Size: 60 2023-09-13T15:33:38.451580Z | Debug | Warning: Client does not support watched files. Falling back to OS polling 2023-09-13T15:33:38.451735Z | Debug | Finished build session AsyncCancelled 2023-09-13T15:33:38.451771Z | Debug | Restarting build session due to config change Action Queue: [] Keys: [GetClientSettings; ] Aborting previous build session took 0.00s 2023-09-13T15:33:38.452197Z | Debug | VFS: opening file:///Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:38.452815Z | Debug | Set files of interest to: fromList [(NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs",Modified {firstOpen = True})] 2023-09-13T15:33:38.453039Z | Debug | Finished build session AsyncCancelled 2023-09-13T15:33:38.453116Z | Debug | Restarting build session due to /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs (modified) Action Queue: [] Keys: [ GetClientSettings; , IsFileOfInterest; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs , GetModificationTime; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs ] Aborting previous build session took 0.00s 2023-09-13T15:33:38.453340Z | Debug | Opened text document: file:///Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:38.454178Z | Debug | hlint: Getting hlint ideas for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs" 2023-09-13T15:33:38.454222Z | Debug | Finished: codeLens.config Took: 0.00s 2023-09-13T15:33:38.454275Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:141:15 "fp" "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs" 2023-09-13T15:33:38.455156Z | Info | Cradle path: src/Docker.hs 2023-09-13T15:33:38.455344Z | Warning | No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for src/Docker.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. 2023-09-13T15:33:38.455501Z | Debug | LSP: set new config: { "cabalFormattingProvider": "cabalfmt", "checkParents": "CheckOnSave", "checkProject": true, "formattingProvider": "fourmolu", "maxCompletions": 40, "plugin": { "alternateNumberFormat": { "globalOn": true }, "callHierarchy": { "globalOn": true }, "changeTypeSignature": { "globalOn": true }, "class": { "codeActionsOn": true, "codeLensOn": true }, "eval": { "config": { "diff": true, "exception": true }, "globalOn": true }, "excplicitFixity": { "globalOn": true }, "gadt": { "globalOn": true }, "ghcide-code-actions-bindings": { "globalOn": true }, "ghcide-code-actions-fill-holes": { "globalOn": true }, "ghcide-code-actions-imports-exports": { "globalOn": true }, "ghcide-code-actions-type-signatures": { "globalOn": true }, "ghcide-completions": { "config": { "autoExtendOn": true, "snippetsOn": true }, "globalOn": true }, "ghcide-hover-and-symbols": { "hoverOn": true, "symbolsOn": true }, "ghcide-type-lenses": { "config": { "mode": "always" }, "globalOn": true }, "haddockComments": { "globalOn": true }, "hlint": { "codeActionsOn": true, "diagnosticsOn": true }, "importLens": { "codeActionsOn": true, "codeLensOn": true, "globalOn": true }, "moduleName": { "globalOn": true }, "pragmas": { "codeActionsOn": true, "completionOn": true }, "qualifyImportedNames": { "globalOn": true }, "refineImports": { "codeActionsOn": true, "codeLensOn": true }, "rename": { "config": { "crossModule": true }, "globalOn": true }, "retrie": { "globalOn": true }, "splice": { "globalOn": true }, "tactics": { "codeActionsOn": true, "codeLensOn": true, "config": { "auto_gas": 4, "max_use_ctor_actions": 5, "proofstate_styling": true, "timeout_duration": 2 }, "hoverOn": true } } } 2023-09-13T15:33:38.456921Z | Debug | Configuration changed: Config {checkParents = CheckOnSave, checkProject = True, formattingProvider = "fourmolu", cabalFormattingProvider = "cabalfmt", maxCompletions = 40, plugins = fromList [(PluginId "alternateNumberFormat",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "callHierarchy",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "changeTypeSignature",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "class",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "eval",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList [("diff",Bool True),("exception",Bool True)]}),(PluginId "excplicitFixity",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "gadt",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "ghcide-code-actions-bindings",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "ghcide-code-actions-fill-holes",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "ghcide-code-actions-imports-exports",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "ghcide-code-actions-type-signatures",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "ghcide-completions",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList [("autoExtendOn",Bool True),("snippetsOn",Bool True)]}),(PluginId "ghcide-hover-and-symbols",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "ghcide-type-lenses",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList [("mode",String "always")]}),(PluginId "haddockComments",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "hlint",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "importLens",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "moduleName",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "pragmas",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "qualifyImportedNames",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "refineImports",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "rename",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList [("crossModule",Bool True)]}),(PluginId "retrie",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "splice",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "tactics",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList [("auto_gas",Number 4.0),("max_use_ctor_actions",Number 5.0),("proofstate_styling",Bool True),("timeout_duration",Number 2.0)]})]} 2023-09-13T15:33:38.458409Z | Debug | Finished build session AsyncCancelled 2023-09-13T15:33:38.458430Z | Debug | Restarting build session due to config change Action Queue: [ ImportActions , ModuleName.ghcSession , eval.GetParsedModuleWithComments , codeLens.GetGlobalBindingTypeSigs , Outline , classplugin.TypeCheck ] Keys: [ GetClientSettings; , IsFileOfInterest; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs , GetModificationTime; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs ] Aborting previous build session took 0.00s 2023-09-13T15:33:38.459055Z | Debug | LSP: set new config: { "cabalFormattingProvider": "cabalfmt", "checkParents": "CheckOnSave", "checkProject": true, "formattingProvider": "fourmolu", "maxCompletions": 40, "plugin": { "alternateNumberFormat": { "globalOn": true }, "callHierarchy": { "globalOn": true }, "changeTypeSignature": { "globalOn": true }, "class": { "codeActionsOn": true, "codeLensOn": true }, "eval": { "config": { "diff": true, "exception": true }, "globalOn": true }, "excplicitFixity": { "globalOn": true }, "gadt": { "globalOn": true }, "ghcide-code-actions-bindings": { "globalOn": true }, "ghcide-code-actions-fill-holes": { "globalOn": true }, "ghcide-code-actions-imports-exports": { "globalOn": true }, "ghcide-code-actions-type-signatures": { "globalOn": true }, "ghcide-completions": { "config": { "autoExtendOn": true, "snippetsOn": true }, "globalOn": true }, "ghcide-hover-and-symbols": { "hoverOn": true, "symbolsOn": true }, "ghcide-type-lenses": { "config": { "mode": "always" }, "globalOn": true }, "haddockComments": { "globalOn": true }, "hlint": { "codeActionsOn": true, "diagnosticsOn": true }, "importLens": { "codeActionsOn": true, "codeLensOn": true, "globalOn": true }, "moduleName": { "globalOn": true }, "pragmas": { "codeActionsOn": true, "completionOn": true }, "qualifyImportedNames": { "globalOn": true }, "refineImports": { "codeActionsOn": true, "codeLensOn": true }, "rename": { "config": { "crossModule": true }, "globalOn": true }, "retrie": { "globalOn": true }, "splice": { "globalOn": true }, "tactics": { "codeActionsOn": true, "codeLensOn": true, "config": { "auto_gas": 4, "max_use_ctor_actions": 5, "proofstate_styling": true, "timeout_duration": 2 }, "hoverOn": true } } } 2023-09-13T15:33:38.459439Z | Debug | hlint: Getting hlint ideas for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs" 2023-09-13T15:33:38.460146Z | Debug | Configuration changed: Config {checkParents = CheckOnSave, checkProject = True, formattingProvider = "fourmolu", cabalFormattingProvider = "cabalfmt", maxCompletions = 40, plugins = fromList [(PluginId "alternateNumberFormat",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "callHierarchy",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "changeTypeSignature",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "class",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "eval",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList [("diff",Bool True),("exception",Bool True)]}),(PluginId "excplicitFixity",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "gadt",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "ghcide-code-actions-bindings",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "ghcide-code-actions-fill-holes",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "ghcide-code-actions-imports-exports",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "ghcide-code-actions-type-signatures",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "ghcide-completions",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList [("autoExtendOn",Bool True),("snippetsOn",Bool True)]}),(PluginId "ghcide-hover-and-symbols",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "ghcide-type-lenses",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList [("mode",String "always")]}),(PluginId "haddockComments",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "hlint",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "importLens",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "moduleName",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "pragmas",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "qualifyImportedNames",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "refineImports",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "rename",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList [("crossModule",Bool True)]}),(PluginId "retrie",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "splice",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList []}),(PluginId "tactics",PluginConfig {plcGlobalOn = True, plcCallHierarchyOn = True, plcCodeActionsOn = True, plcCodeLensOn = True, plcDiagnosticsOn = True, plcHoverOn = True, plcSymbolsOn = True, plcCompletionOn = True, plcRenameOn = True, plcSelectionRangeOn = True, plcFoldingRangeOn = True, plcConfig = fromList [("auto_gas",Number 4.0),("max_use_ctor_actions",Number 5.0),("proofstate_styling",Bool True),("timeout_duration",Number 2.0)]})]} 2023-09-13T15:33:38.460597Z | Debug | Cradle: Cradle {cradleRootDir = "/Users/rdayabhai/code/Simple-Haskell-Handbook", cradleOptsProg = CradleAction: Stack} 2023-09-13T15:33:38.462750Z | Info | invoking build tool to determine build flags (this may take some time depending on the cache) 2023-09-13T15:33:38.463087Z | Debug | Finished build session AsyncCancelled 2023-09-13T15:33:38.463107Z | Debug | Restarting build session due to config change Action Queue: [ ImportActions , ModuleName.ghcSession , eval.GetParsedModuleWithComments , codeLens.GetGlobalBindingTypeSigs , Outline , classplugin.TypeCheck ] Keys: [ GetClientSettings; , IsFileOfInterest; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs , GetModificationTime; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs ] Aborting previous build session took 0.00s 2023-09-13T15:33:38.463211Z | Debug | executing command: stack repl --no-nix-pure --with-ghc /Users/rdayabhai/.cache/hie-bios/wrapper-b54f81dea4c0e6d1626911c526bc4e36 quad:lib 2023-09-13T15:33:38.464387Z | Debug | hlint: Getting hlint ideas for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs" 2023-09-13T15:33:39.116264Z | Debug | DocumentHighlight request at position 14:42 in file: /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:39.116600Z | Debug | LOOKUP PERSISTENT FOR: GetHieAst 2023-09-13T15:33:39.116880Z | Debug | LOADING HIE FILE FOR /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:39.120957Z | Debug | SUCCEEDED LOADING HIE FILE FOR /Users/rdayabhai/.cache/ghcide/main-bbb5fea6fe011fffdd7eefa61c06ec3b11d41395/Docker.hie 2023-09-13T15:33:39.428531Z | Debug | quad> initial-build-steps (lib) 2023-09-13T15:33:39.817208Z | Debug | Configuring GHCi with the following packages: quad. 2023-09-13T15:33:39.924159Z | Debug | executing command: stack path --ghc-package-path 2023-09-13T15:33:40.460392Z | Debug | /Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/install/x86_64-osx/34b5298e4529c0881ff9db353c1a31a153af430bfac96ef42ec9d5a64c972879/9.2.8/pkgdb:/Users/rdayabhai/.stack/snapshots/x86_64-osx/34b5298e4529c0881ff9db353c1a31a153af430bfac96ef42ec9d5a64c972879/9.2.8/pkgdb:/Users/rdayabhai/.ghcup/ghc/9.2.8/lib/ghc-9.2.8/lib/package.conf.d 2023-09-13T15:33:40.476907Z | Debug | executing command: stack setup --silent 2023-09-13T15:33:41.496373Z | Debug | executing command: stack exec ghc -- --print-libdir 2023-09-13T15:33:41.879368Z | Debug | Session loading result: Right (ComponentOptions {componentOptions = ["-i","-odir=/Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/odir","-hidir=/Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/odir","-hide-all-packages","-XHaskell2010","-XBlockArguments","-XDeriveAnyClass","-XDeriveGeneric","-XLambdaCase","-XNoImplicitPrelude","-XOverloadedStrings","-XStrictData","-i/Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build","-i/Users/rdayabhai/code/Simple-Haskell-Handbook/src","-i/Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build/autogen","-i/Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build/global-autogen","-stubdir=/Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build","-package-id=aeson-2.0.3.0-B56EwkCboVUIb59k2pHz9h","-package-id=async-2.2.4-KzhLbRYpCCLJ5d8bnXQLq3","-package-id=base-4.16.4.0","-package-id=butcher-1.3.3.2-1cfNsCB1zaB8x57ULDFlTu","-package-id=hslogger-1.3.1.0-DUgHt41v9SYC5FomRb3mRf","-package-id=http-client-0.7.13.1-KftncbXpmOyi2PKoGSfFH","-package-id=http-conduit-2.3.8.1-GAHsHxOX7htCqupMD7W6xK","-package-id=http-types-0.12.3-DOjHG19CWso9L585xkx2dm","-package-id=network-3.1.4.0-6hrQ6YwsqbgFbtfSa3dgdY","-package-id=record-hasfield-1.0-CiLArFPQsgBLZC7Dz4krwU","-package-id=rio-0.1.22.0-KsLQqOQjIAGI53X5wIB8Ba","-package-id=scotty-0.12.1-DJMqjihXYBN8cJrCp4qFYQ","-package-id=serialise-0.2.6.0-KSGgo7S5KUX8si261wpb7n","-package-id=stm-2.5.0.2","-package-id=time-1.11.1.1","-package-id=typed-process-0.2.11.0-8MqWQ1N30DB7hh3GifRqHF","-package-id=wai-cors-0.2.7-I6W5Xe4tkBSLPiHxUgpdWv","-package-id=yaml-0.11.11.0-45oHVkFNcFfLVvU8ZNNDj6","-F","-pgmF=record-dot-preprocessor","-optP-include","-optP/Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/ghci/d6e9c84f/cabal_macros.h","-ghci-script=/Users/rdayabhai/.cache/stack/ghci-script/f1f4b723/ghci-script","-package-db","/Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/install/x86_64-osx/34b5298e4529c0881ff9db353c1a31a153af430bfac96ef42ec9d5a64c972879/9.2.8/pkgdb","-package-db","/Users/rdayabhai/.stack/snapshots/x86_64-osx/34b5298e4529c0881ff9db353c1a31a153af430bfac96ef42ec9d5a64c972879/9.2.8/pkgdb","-package-db","/Users/rdayabhai/.ghcup/ghc/9.2.8/lib/ghc-9.2.8/lib/package.conf.d"], componentRoot = "/Users/rdayabhai/code/Simple-Haskell-Handbook", componentDependencies = ["quad.cabal","package.yaml","stack.yaml"]},"/Users/rdayabhai/.ghcup/ghc/9.2.8/lib/ghc-9.2.8/lib") 2023-09-13T15:33:41.962275Z | Info | Interface files cache directory: /Users/rdayabhai/.cache/ghcide/main-bbb5fea6fe011fffdd7eefa61c06ec3b11d41395 2023-09-13T15:33:41.963212Z | Info | Making new HscEnv. In-place unit ids: [main] 2023-09-13T15:33:41.992126Z | Debug | New component cache HscEnvEq: (([],Just HscEnvEq 16),fromList [("package.yaml",Just 2023-07-23 00:13:36.752094141 UTC),("quad.cabal",Just 2023-09-12 16:45:00.504518835 UTC),("stack.yaml",Just 2023-09-12 13:50:49.551927419 UTC)]) 2023-09-13T15:33:41.997737Z | Debug | Known files updated: fromList [(TargetFile NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs",fromList ["/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs"]),(TargetModule (ModuleName "Socket"),fromList ["/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Socket.hs"]),(TargetModule (ModuleName "Docker"),fromList ["/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs"]),(TargetModule (ModuleName "Paths_quad"),fromList ["/Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build/autogen/Paths_quad.hs"]),(TargetModule (ModuleName "Core"),fromList ["/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Core.hs"])] 2023-09-13T15:33:41.998310Z | Debug | Finished build session AsyncCancelled 2023-09-13T15:33:41.998351Z | Debug | Restarting build session due to new component Action Queue: [ ImportActions , ModuleName.ghcSession , eval.GetParsedModuleWithComments , codeLens.GetGlobalBindingTypeSigs , C:GetHieAst:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs , Outline , classplugin.TypeCheck ] Keys: [ IsFileOfInterest; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs , GetModificationTime; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs , GhcSessionIO; , GetKnownTargets; ] Aborting previous build session took 0.00s 2023-09-13T15:33:42.000160Z | Debug | hlint: Getting hlint ideas for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs" 2023-09-13T15:33:42.002683Z | Debug | Finished: ModuleName.ghcSession Took: 0.00s 2023-09-13T15:33:42.002901Z | Debug | moduleName: ModuleName.SrcPaths: [ /Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build , /Users/rdayabhai/code/Simple-Haskell-Handbook/src , /Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build/autogen , /Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build/global-autogen ] 2023-09-13T15:33:42.003146Z | Debug | moduleName: ModuleName.NormalisedPaths: [ /Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build/ , /Users/rdayabhai/code/Simple-Haskell-Handbook/src/ , /Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build/autogen/ , /Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build/global-autogen/ ] 2023-09-13T15:33:42.003488Z | Debug | moduleName: ModuleName.AbsoluteFilePath: /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:42.003736Z | Debug | moduleName: ModuleName.CorrectNames: [Docker] 2023-09-13T15:33:42.003931Z | Debug | moduleName: ModuleName.BestName: Docker 2023-09-13T15:33:42.036120Z | Debug | hlint: Using extensions for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs": [ UndecidableInstances , MonomorphismRestriction , MonoLocalBinds , DeepSubsumption , RelaxedPolyRec , ForeignFunctionInterface , TypeFamilies , OverloadedStrings , DisambiguateRecordFields , GADTs , GADTSyntax , DoAndIfThenElse , BlockArguments , DataKinds , DeriveGeneric , DeriveAnyClass , TypeSynonymInstances , FlexibleContexts , FlexibleInstances , ConstrainedClassMethods , MultiParamTypeClasses , EmptyDataDecls , KindSignatures , PatternGuards , TypeOperators , ExplicitNamespaces , DatatypeContexts , TraditionalRecordSyntax , LambdaCase , DuplicateRecordFields , TypeApplications , StrictData , StarIsType , CUSKs , FieldSelectors ] 2023-09-13T15:33:42.036334Z | Debug | Finished: Outline Took: 0.04s 2023-09-13T15:33:42.036348Z | Debug | Finished: ModuleName.GetParsedModule Took: 0.03s 2023-09-13T15:33:42.036376Z | Debug | moduleName: ModuleName.StatedNameMaybe: Docker 2023-09-13T15:33:42.036558Z | Debug | Finished: eval.GetParsedModuleWithComments Took: 0.04s 2023-09-13T15:33:42.036561Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:141:15 "comments" "Comments {lineComments = fromList [], blockComments = fromList [(Range {_start = Position {_line = 0, _character = 0}, _end = Position {_line = 0, _character = 185}},RawBlockComment {getRawBlockComment = \"{-# LANGUAGE DuplicateRecordFields, DataKinds, FlexibleInstances, TypeApplications, FlexibleContexts, MultiParamTypeClasses, TypeFamilies, TypeOperators, GADTs, UndecidableInstances #-}\"}),(Range {_start = Position {_line = 1, _character = 0}, _end = Position {_line = 1, _character = 38}},RawBlockComment {getRawBlockComment = \"{- HLINT ignore \\\"Redundant bracket\\\" -}\"})]}" 2023-09-13T15:33:42.037757Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:141:15 "Tests" "0 tests in 2 sections 0 setups 0 lenses." 2023-09-13T15:33:42.038433Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:141:15 "tests" "0.00s" 2023-09-13T15:33:42.038555Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:141:15 "codeLens" "3.58s" 2023-09-13T15:33:42.106330Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:42.399831Z | Debug | Finished: classplugin.TypeCheck Took: 0.40s 2023-09-13T15:33:42.400025Z | Debug | Finished: codeLens.GetGlobalBindingTypeSigs Took: 0.40s 2023-09-13T15:33:42.400366Z | Debug | Finished: classplugin.GetInstanceBindTypeSigs Took: 0.00s 2023-09-13T15:33:42.400427Z | Debug | Finished: classplugin.insertPragmaIfNotPresent.GhcSession Took: 0.00s 2023-09-13T15:33:42.400624Z | Debug | Finished: classplugin.insertPragmaIfNotPresent.GetFileContents Took: 0.00s 2023-09-13T15:33:42.400672Z | Debug | Finished: classplugin.insertPragmaIfNotPresent.GetParsedModuleWithComments Took: 0.00s 2023-09-13T15:33:42.400895Z | Debug | Finished: ImportActions Took: 0.40s 2023-09-13T15:33:42.476217Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:42.478500Z | Debug | Finished: ImportActions Took: 0.00s 2023-09-13T15:33:42.484043Z | Debug | Finished: C:GetHieAst:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.49s 2023-09-13T15:33:42.495179Z | Debug | Finished: InitialLoad Took: 0.50s 2023-09-13T15:33:44.807088Z | Debug | Set files of interest to: fromList [(NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs",Modified {firstOpen = False})] 2023-09-13T15:33:44.807405Z | Debug | Finished build session AsyncCancelled 2023-09-13T15:33:44.807445Z | Debug | Restarting build session due to /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs (modified) Action Queue: [] Keys: [ IsFileOfInterest; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs , GetModificationTime; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs , GetModificationTime; /Users/rdayabhai/.cache/ghcide/main-bbb5fea6fe011fffdd7eefa61c06ec3b11d41395/Docker.hie ] Aborting previous build session took 0.00s 2023-09-13T15:33:44.807759Z | Debug | Modified text document: file:///Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:44.830443Z | Debug | hlint: Getting hlint ideas for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs" 2023-09-13T15:33:44.830625Z | Debug | hlint: Using extensions for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs": [ UndecidableInstances , MonomorphismRestriction , MonoLocalBinds , DeepSubsumption , RelaxedPolyRec , ForeignFunctionInterface , TypeFamilies , OverloadedStrings , DisambiguateRecordFields , GADTs , GADTSyntax , DoAndIfThenElse , BlockArguments , DataKinds , DeriveGeneric , DeriveAnyClass , TypeSynonymInstances , FlexibleContexts , FlexibleInstances , ConstrainedClassMethods , MultiParamTypeClasses , EmptyDataDecls , KindSignatures , PatternGuards , TypeOperators , ExplicitNamespaces , DatatypeContexts , TraditionalRecordSyntax , LambdaCase , DuplicateRecordFields , TypeApplications , StrictData , StarIsType , CUSKs , FieldSelectors ] 2023-09-13T15:33:44.855336Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:44.921118Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:44.959465Z | Debug | Finished build session AsyncCancelled 2023-09-13T15:33:44.959473Z | Debug | Restarting build session due to /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs (modified) Action Queue: [] Keys: [ GetModificationTime; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs , GetModificationTime; /Users/rdayabhai/.cache/ghcide/main-bbb5fea6fe011fffdd7eefa61c06ec3b11d41395/Docker.hie ] Aborting previous build session took 0.00s 2023-09-13T15:33:44.959793Z | Debug | Modified text document: file:///Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:44.987174Z | Debug | hlint: Getting hlint ideas for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs" 2023-09-13T15:33:44.987421Z | Debug | hlint: Using extensions for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs": [ UndecidableInstances , MonomorphismRestriction , MonoLocalBinds , DeepSubsumption , RelaxedPolyRec , ForeignFunctionInterface , TypeFamilies , OverloadedStrings , DisambiguateRecordFields , GADTs , GADTSyntax , DoAndIfThenElse , BlockArguments , DataKinds , DeriveGeneric , DeriveAnyClass , TypeSynonymInstances , FlexibleContexts , FlexibleInstances , ConstrainedClassMethods , MultiParamTypeClasses , EmptyDataDecls , KindSignatures , PatternGuards , TypeOperators , ExplicitNamespaces , DatatypeContexts , TraditionalRecordSyntax , LambdaCase , DuplicateRecordFields , TypeApplications , StrictData , StarIsType , CUSKs , FieldSelectors ] 2023-09-13T15:33:45.012622Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:45.104843Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:45.570525Z | Debug | DocumentHighlight request at position 15:1 in file: /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:45.570957Z | Debug | Finished: C:GetHieAst:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.00s 2023-09-13T15:33:47.510550Z | Debug | Finished build session AsyncCancelled 2023-09-13T15:33:47.510556Z | Debug | Restarting build session due to /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs (modified) Action Queue: [] Keys: [ GetModificationTime; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs , GetModificationTime; /Users/rdayabhai/.cache/ghcide/main-bbb5fea6fe011fffdd7eefa61c06ec3b11d41395/Docker.hie ] Aborting previous build session took 0.00s 2023-09-13T15:33:47.510964Z | Debug | Modified text document: file:///Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:47.533973Z | Debug | hlint: Getting hlint ideas for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs" 2023-09-13T15:33:47.534151Z | Debug | hlint: Using extensions for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs": [ UndecidableInstances , MonomorphismRestriction , MonoLocalBinds , DeepSubsumption , RelaxedPolyRec , ForeignFunctionInterface , TypeFamilies , OverloadedStrings , DisambiguateRecordFields , GADTs , GADTSyntax , DoAndIfThenElse , BlockArguments , DataKinds , DeriveGeneric , DeriveAnyClass , TypeSynonymInstances , FlexibleContexts , FlexibleInstances , ConstrainedClassMethods , MultiParamTypeClasses , EmptyDataDecls , KindSignatures , PatternGuards , TypeOperators , ExplicitNamespaces , DatatypeContexts , TraditionalRecordSyntax , LambdaCase , DuplicateRecordFields , TypeApplications , StrictData , StarIsType , CUSKs , FieldSelectors ] 2023-09-13T15:33:47.565629Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:47.625528Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:48.917309Z | Debug | DocumentHighlight request at position 16:1 in file: /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:48.917671Z | Debug | Finished: C:GetHieAst:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.00s 2023-09-13T15:33:49.368699Z | Debug | Finished: classplugin.TypeCheck Took: 0.00s 2023-09-13T15:33:49.368780Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:141:15 "fp" "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs" 2023-09-13T15:33:49.368783Z | Debug | Finished: codeLens.config Took: 0.00s 2023-09-13T15:33:49.368889Z | Debug | Finished: ModuleName.ghcSession Took: 0.00s 2023-09-13T15:33:49.368928Z | Debug | moduleName: ModuleName.SrcPaths: [ /Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build , /Users/rdayabhai/code/Simple-Haskell-Handbook/src , /Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build/autogen , /Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build/global-autogen ] 2023-09-13T15:33:49.369222Z | Debug | Finished: classplugin.GetInstanceBindTypeSigs Took: 0.00s 2023-09-13T15:33:49.369425Z | Debug | Finished: classplugin.insertPragmaIfNotPresent.GhcSession Took: 0.00s 2023-09-13T15:33:49.369470Z | Debug | Finished: classplugin.insertPragmaIfNotPresent.GetFileContents Took: 0.00s 2023-09-13T15:33:49.369505Z | Debug | moduleName: ModuleName.NormalisedPaths: [ /Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build/ , /Users/rdayabhai/code/Simple-Haskell-Handbook/src/ , /Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build/autogen/ , /Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build/global-autogen/ ] 2023-09-13T15:33:49.369826Z | Debug | Finished: classplugin.insertPragmaIfNotPresent.GetParsedModuleWithComments Took: 0.00s 2023-09-13T15:33:49.369932Z | Debug | Finished: codeLens.GetGlobalBindingTypeSigs Took: 0.00s 2023-09-13T15:33:49.370040Z | Debug | moduleName: ModuleName.AbsoluteFilePath: /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:49.370044Z | Debug | Finished: eval.GetParsedModuleWithComments Took: 0.00s 2023-09-13T15:33:49.370048Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:141:15 "comments" "Comments {lineComments = fromList [], blockComments = fromList [(Range {_start = Position {_line = 0, _character = 0}, _end = Position {_line = 0, _character = 185}},RawBlockComment {getRawBlockComment = \"{-# LANGUAGE DuplicateRecordFields, DataKinds, FlexibleInstances, TypeApplications, FlexibleContexts, MultiParamTypeClasses, TypeFamilies, TypeOperators, GADTs, UndecidableInstances #-}\"}),(Range {_start = Position {_line = 1, _character = 0}, _end = Position {_line = 1, _character = 38}},RawBlockComment {getRawBlockComment = \"{- HLINT ignore \\\"Redundant bracket\\\" -}\"})]}" 2023-09-13T15:33:49.370440Z | Debug | moduleName: ModuleName.CorrectNames: [Docker] 2023-09-13T15:33:49.370495Z | Debug | Finished: ImportActions Took: 0.00s 2023-09-13T15:33:49.370662Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:141:15 "Tests" "0 tests in 2 sections 0 setups 0 lenses." 2023-09-13T15:33:49.370774Z | Debug | moduleName: ModuleName.BestName: Docker 2023-09-13T15:33:49.371136Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:141:15 "tests" "0.00s" 2023-09-13T15:33:49.371294Z | Debug | Finished: ModuleName.GetParsedModule Took: 0.00s 2023-09-13T15:33:49.371317Z | Debug | moduleName: ModuleName.StatedNameMaybe: Docker 2023-09-13T15:33:49.371390Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:141:15 "codeLens" "0.00s" 2023-09-13T15:33:49.372269Z | Debug | Finished: FoldingRange Took: 0.00s 2023-09-13T15:33:49.372900Z | Debug | Finished: ImportActions Took: 0.00s 2023-09-13T15:33:49.819142Z | Debug | DocumentHighlight request at position 15:1 in file: /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:49.819441Z | Debug | Finished: C:GetHieAst:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.00s 2023-09-13T15:33:51.733531Z | Debug | DocumentHighlight request at position 14:1 in file: /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:51.733966Z | Debug | Finished: C:GetHieAst:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.00s 2023-09-13T15:33:52.435378Z | Debug | Finished build session AsyncCancelled 2023-09-13T15:33:52.435379Z | Debug | Restarting build session due to /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs (modified) Action Queue: [] Keys: [ GetModificationTime; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs , GetModificationTime; /Users/rdayabhai/.cache/ghcide/main-bbb5fea6fe011fffdd7eefa61c06ec3b11d41395/Docker.hie ] Aborting previous build session took 0.00s 2023-09-13T15:33:52.435690Z | Debug | Modified text document: file:///Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:52.437403Z | Debug | LOOKUP PERSISTENT FOR: LocalCompletions 2023-09-13T15:33:52.457213Z | Debug | hlint: Getting hlint ideas for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs" 2023-09-13T15:33:52.457314Z | Debug | Finished: C:LocalCompletions:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.02s 2023-09-13T15:33:52.457409Z | Debug | Finished: C:GetParsedModule:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.00s 2023-09-13T15:33:52.457636Z | Debug | hlint: Using extensions for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs": [ UndecidableInstances , MonomorphismRestriction , MonoLocalBinds , DeepSubsumption , RelaxedPolyRec , ForeignFunctionInterface , TypeFamilies , OverloadedStrings , DisambiguateRecordFields , GADTs , GADTSyntax , DoAndIfThenElse , BlockArguments , DataKinds , DeriveGeneric , DeriveAnyClass , TypeSynonymInstances , FlexibleContexts , FlexibleInstances , ConstrainedClassMethods , MultiParamTypeClasses , EmptyDataDecls , KindSignatures , PatternGuards , TypeOperators , ExplicitNamespaces , DatatypeContexts , TraditionalRecordSyntax , LambdaCase , DuplicateRecordFields , TypeApplications , StrictData , StarIsType , CUSKs , FieldSelectors ] 2023-09-13T15:33:52.457681Z | Debug | LOOKUP PERSISTENT FOR: GetBindings 2023-09-13T15:33:52.464396Z | Debug | Finished: C:NonLocalCompletions:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.01s 2023-09-13T15:33:52.465389Z | Debug | Finished: C:GetBindings:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.01s 2023-09-13T15:33:52.465413Z | Debug | Finished: Completion Took: 0.00s 2023-09-13T15:33:52.465440Z | Debug | Finished: C:GhcSession:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.00s 2023-09-13T15:33:52.466476Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:52.485603Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:52.591399Z | Debug | Finished build session AsyncCancelled 2023-09-13T15:33:52.591448Z | Debug | Restarting build session due to /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs (modified) Action Queue: [] Keys: [ GetModificationTime; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs , GetModificationTime; /Users/rdayabhai/.cache/ghcide/main-bbb5fea6fe011fffdd7eefa61c06ec3b11d41395/Docker.hie ] Aborting previous build session took 0.00s 2023-09-13T15:33:52.591666Z | Debug | Modified text document: file:///Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:52.613007Z | Debug | hlint: Getting hlint ideas for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs" 2023-09-13T15:33:52.613153Z | Debug | hlint: Using extensions for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs": [ UndecidableInstances , MonomorphismRestriction , MonoLocalBinds , DeepSubsumption , RelaxedPolyRec , ForeignFunctionInterface , TypeFamilies , OverloadedStrings , DisambiguateRecordFields , GADTs , GADTSyntax , DoAndIfThenElse , BlockArguments , DataKinds , DeriveGeneric , DeriveAnyClass , TypeSynonymInstances , FlexibleContexts , FlexibleInstances , ConstrainedClassMethods , MultiParamTypeClasses , EmptyDataDecls , KindSignatures , PatternGuards , TypeOperators , ExplicitNamespaces , DatatypeContexts , TraditionalRecordSyntax , LambdaCase , DuplicateRecordFields , TypeApplications , StrictData , StarIsType , CUSKs , FieldSelectors ] 2023-09-13T15:33:52.637261Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:52.793727Z | Debug | Finished: C:GetModSummaryWithoutTimestamps:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.00s 2023-09-13T15:33:52.793942Z | Debug | Finished: Took: 0.00s 2023-09-13T15:33:52.826776Z | Debug | Finished build session AsyncCancelled 2023-09-13T15:33:52.826808Z | Debug | Restarting build session due to /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs (modified) Action Queue: [] Keys: [ GetModificationTime; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs , GetModificationTime; /Users/rdayabhai/.cache/ghcide/main-bbb5fea6fe011fffdd7eefa61c06ec3b11d41395/Docker.hie ] Aborting previous build session took 0.00s 2023-09-13T15:33:52.827141Z | Debug | Modified text document: file:///Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:52.851390Z | Debug | Finished: Outline Took: 0.02s 2023-09-13T15:33:52.851735Z | Debug | hlint: Getting hlint ideas for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs" 2023-09-13T15:33:52.851916Z | Debug | hlint: Using extensions for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs": [ UndecidableInstances , MonomorphismRestriction , MonoLocalBinds , DeepSubsumption , RelaxedPolyRec , ForeignFunctionInterface , TypeFamilies , OverloadedStrings , DisambiguateRecordFields , GADTs , GADTSyntax , DoAndIfThenElse , BlockArguments , DataKinds , DeriveGeneric , DeriveAnyClass , TypeSynonymInstances , FlexibleContexts , FlexibleInstances , ConstrainedClassMethods , MultiParamTypeClasses , EmptyDataDecls , KindSignatures , PatternGuards , TypeOperators , ExplicitNamespaces , DatatypeContexts , TraditionalRecordSyntax , LambdaCase , DuplicateRecordFields , TypeApplications , StrictData , StarIsType , CUSKs , FieldSelectors ] 2023-09-13T15:33:52.873924Z | Debug | Restarting build session due to /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs (modified) Action Queue: [] Keys: [ GetModificationTime; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs , GetModificationTime; /Users/rdayabhai/.cache/ghcide/main-bbb5fea6fe011fffdd7eefa61c06ec3b11d41395/Docker.hie ] Aborting previous build session took 0.00s 2023-09-13T15:33:52.873924Z | Debug | Finished build session AsyncCancelled 2023-09-13T15:33:52.874169Z | Debug | Modified text document: file:///Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:52.880232Z | Debug | Finished: Completion Took: 0.00s 2023-09-13T15:33:52.881010Z | Debug | Finished: Took: 0.00s 2023-09-13T15:33:52.881136Z | Debug | Finished: C:GhcSession:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.00s 2023-09-13T15:33:52.904699Z | Debug | Finished: C:GetModSummaryWithoutTimestamps:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.02s 2023-09-13T15:33:52.906040Z | Debug | hlint: Getting hlint ideas for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs" 2023-09-13T15:33:52.906281Z | Debug | hlint: Using extensions for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs": [ UndecidableInstances , MonomorphismRestriction , MonoLocalBinds , DeepSubsumption , RelaxedPolyRec , ForeignFunctionInterface , TypeFamilies , OverloadedStrings , DisambiguateRecordFields , GADTs , GADTSyntax , DoAndIfThenElse , BlockArguments , DataKinds , DeriveGeneric , DeriveAnyClass , TypeSynonymInstances , FlexibleContexts , FlexibleInstances , ConstrainedClassMethods , MultiParamTypeClasses , EmptyDataDecls , KindSignatures , PatternGuards , TypeOperators , ExplicitNamespaces , DatatypeContexts , TraditionalRecordSyntax , LambdaCase , DuplicateRecordFields , TypeApplications , StrictData , StarIsType , CUSKs , FieldSelectors ] 2023-09-13T15:33:52.906481Z | Debug | Finished: C:GetParsedModule:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.03s 2023-09-13T15:33:52.906562Z | Debug | Finished: C:LocalCompletions:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.03s 2023-09-13T15:33:52.906935Z | Debug | Finished: C:NonLocalCompletions:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.03s 2023-09-13T15:33:52.907742Z | Debug | Finished: C:GetBindings:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.03s 2023-09-13T15:33:52.909190Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:52.927831Z | Debug | Restarting build session due to /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs (modified) Action Queue: [] Keys: [ GetModificationTime; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs , GetModificationTime; /Users/rdayabhai/.cache/ghcide/main-bbb5fea6fe011fffdd7eefa61c06ec3b11d41395/Docker.hie ] Aborting previous build session took 0.00s 2023-09-13T15:33:52.927838Z | Debug | Finished build session AsyncCancelled 2023-09-13T15:33:52.928037Z | Debug | Modified text document: file:///Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:52.933024Z | Debug | Finished: Completion Took: 0.00s 2023-09-13T15:33:52.934536Z | Debug | Finished: C:GhcSession:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.00s 2023-09-13T15:33:52.934562Z | Debug | Finished: Took: 0.00s 2023-09-13T15:33:52.955868Z | Debug | Finished: C:GetModSummaryWithoutTimestamps:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.02s 2023-09-13T15:33:52.957977Z | Debug | Finished: C:GetParsedModule:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.03s 2023-09-13T15:33:52.958148Z | Debug | hlint: Getting hlint ideas for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs" 2023-09-13T15:33:52.958380Z | Debug | Finished: C:LocalCompletions:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.03s 2023-09-13T15:33:52.958451Z | Debug | hlint: Using extensions for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs": [ UndecidableInstances , MonomorphismRestriction , MonoLocalBinds , DeepSubsumption , RelaxedPolyRec , ForeignFunctionInterface , TypeFamilies , OverloadedStrings , DisambiguateRecordFields , GADTs , GADTSyntax , DoAndIfThenElse , BlockArguments , DataKinds , DeriveGeneric , DeriveAnyClass , TypeSynonymInstances , FlexibleContexts , FlexibleInstances , ConstrainedClassMethods , MultiParamTypeClasses , EmptyDataDecls , KindSignatures , PatternGuards , TypeOperators , ExplicitNamespaces , DatatypeContexts , TraditionalRecordSyntax , LambdaCase , DuplicateRecordFields , TypeApplications , StrictData , StarIsType , CUSKs , FieldSelectors ] 2023-09-13T15:33:52.958860Z | Debug | Finished: C:NonLocalCompletions:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.03s 2023-09-13T15:33:52.960145Z | Debug | Finished: C:GetBindings:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.03s 2023-09-13T15:33:53.032995Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:53.035975Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:53.037775Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:53.702646Z | Debug | Finished build session AsyncCancelled 2023-09-13T15:33:53.702664Z | Debug | Restarting build session due to /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs (modified) Action Queue: [] Keys: [ GetModificationTime; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs , GetModificationTime; /Users/rdayabhai/.cache/ghcide/main-bbb5fea6fe011fffdd7eefa61c06ec3b11d41395/Docker.hie ] Aborting previous build session took 0.00s 2023-09-13T15:33:53.703001Z | Debug | Modified text document: file:///Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:53.704901Z | Debug | Finished: Completion Took: 0.00s 2023-09-13T15:33:53.705668Z | Debug | Finished: C:GhcSession:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.00s 2023-09-13T15:33:53.712582Z | Debug | Finished: Took: 0.01s 2023-09-13T15:33:53.794878Z | Debug | Finished: C:GetModSummaryWithoutTimestamps:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.09s 2023-09-13T15:33:53.796191Z | Debug | hlint: Getting hlint ideas for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs" 2023-09-13T15:33:53.796380Z | Debug | hlint: Using extensions for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs": [ UndecidableInstances , MonomorphismRestriction , MonoLocalBinds , DeepSubsumption , RelaxedPolyRec , ForeignFunctionInterface , TypeFamilies , OverloadedStrings , DisambiguateRecordFields , GADTs , GADTSyntax , DoAndIfThenElse , BlockArguments , DataKinds , DeriveGeneric , DeriveAnyClass , TypeSynonymInstances , FlexibleContexts , FlexibleInstances , ConstrainedClassMethods , MultiParamTypeClasses , EmptyDataDecls , KindSignatures , PatternGuards , TypeOperators , ExplicitNamespaces , DatatypeContexts , TraditionalRecordSyntax , LambdaCase , DuplicateRecordFields , TypeApplications , StrictData , StarIsType , CUSKs , FieldSelectors ] 2023-09-13T15:33:53.796614Z | Debug | Finished: C:GetParsedModule:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.09s 2023-09-13T15:33:53.796656Z | Debug | Finished: C:LocalCompletions:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.09s 2023-09-13T15:33:53.798342Z | Debug | Finished: C:NonLocalCompletions:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.09s 2023-09-13T15:33:53.799448Z | Debug | Finished: C:GetBindings:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.09s 2023-09-13T15:33:53.801583Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:53.818902Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:53.891469Z | Debug | Finished build session AsyncCancelled 2023-09-13T15:33:53.891470Z | Debug | Restarting build session due to /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs (modified) Action Queue: [] Keys: [ GetModificationTime; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs , GetModificationTime; /Users/rdayabhai/.cache/ghcide/main-bbb5fea6fe011fffdd7eefa61c06ec3b11d41395/Docker.hie ] Aborting previous build session took 0.00s 2023-09-13T15:33:53.891746Z | Debug | Modified text document: file:///Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:53.895908Z | Debug | Finished: Completion Took: 0.00s 2023-09-13T15:33:53.897731Z | Debug | Finished: C:GhcSession:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.00s 2023-09-13T15:33:53.899848Z | Debug | Finished: Took: 0.00s 2023-09-13T15:33:53.917859Z | Debug | Finished: C:GetModSummaryWithoutTimestamps:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.02s 2023-09-13T15:33:53.919966Z | Debug | Finished: C:GetParsedModule:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.03s 2023-09-13T15:33:53.920309Z | Debug | hlint: Getting hlint ideas for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs" 2023-09-13T15:33:53.920597Z | Debug | Finished: C:LocalCompletions:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.03s 2023-09-13T15:33:53.920611Z | Debug | hlint: Using extensions for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs": [ UndecidableInstances , MonomorphismRestriction , MonoLocalBinds , DeepSubsumption , RelaxedPolyRec , ForeignFunctionInterface , TypeFamilies , OverloadedStrings , DisambiguateRecordFields , GADTs , GADTSyntax , DoAndIfThenElse , BlockArguments , DataKinds , DeriveGeneric , DeriveAnyClass , TypeSynonymInstances , FlexibleContexts , FlexibleInstances , ConstrainedClassMethods , MultiParamTypeClasses , EmptyDataDecls , KindSignatures , PatternGuards , TypeOperators , ExplicitNamespaces , DatatypeContexts , TraditionalRecordSyntax , LambdaCase , DuplicateRecordFields , TypeApplications , StrictData , StarIsType , CUSKs , FieldSelectors ] 2023-09-13T15:33:53.921120Z | Debug | Finished: C:NonLocalCompletions:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.03s 2023-09-13T15:33:53.922727Z | Debug | Finished: C:GetBindings:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.03s 2023-09-13T15:33:53.923857Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:54.252821Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:54.260396Z | Debug | Restarting build session due to /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs (modified) Action Queue: [] Keys: [ GetModificationTime; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs , GetModificationTime; /Users/rdayabhai/.cache/ghcide/main-bbb5fea6fe011fffdd7eefa61c06ec3b11d41395/Docker.hie ] Aborting previous build session took 0.00s 2023-09-13T15:33:54.260396Z | Debug | Finished build session AsyncCancelled 2023-09-13T15:33:54.260597Z | Debug | Modified text document: file:///Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:54.263772Z | Debug | Finished: Completion Took: 0.00s 2023-09-13T15:33:54.263940Z | Debug | Finished: C:GhcSession:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.00s 2023-09-13T15:33:54.266344Z | Debug | Finished: Took: 0.00s 2023-09-13T15:33:54.286479Z | Debug | Finished: C:GetModSummaryWithoutTimestamps:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.02s 2023-09-13T15:33:54.287461Z | Debug | Finished: C:NonLocalCompletions:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.02s 2023-09-13T15:33:54.287564Z | Debug | Finished: C:GetParsedModule:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.02s 2023-09-13T15:33:54.287778Z | Debug | Finished: C:LocalCompletions:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.02s 2023-09-13T15:33:54.287786Z | Debug | hlint: Getting hlint ideas for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs" 2023-09-13T15:33:54.288013Z | Debug | hlint: Using extensions for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs": [ UndecidableInstances , MonomorphismRestriction , MonoLocalBinds , DeepSubsumption , RelaxedPolyRec , ForeignFunctionInterface , TypeFamilies , OverloadedStrings , DisambiguateRecordFields , GADTs , GADTSyntax , DoAndIfThenElse , BlockArguments , DataKinds , DeriveGeneric , DeriveAnyClass , TypeSynonymInstances , FlexibleContexts , FlexibleInstances , ConstrainedClassMethods , MultiParamTypeClasses , EmptyDataDecls , KindSignatures , PatternGuards , TypeOperators , ExplicitNamespaces , DatatypeContexts , TraditionalRecordSyntax , LambdaCase , DuplicateRecordFields , TypeApplications , StrictData , StarIsType , CUSKs , FieldSelectors ] 2023-09-13T15:33:54.288672Z | Debug | Finished: C:GetBindings:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.02s 2023-09-13T15:33:54.289860Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:54.305815Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:54.991724Z | Debug | Finished build session AsyncCancelled 2023-09-13T15:33:54.991805Z | Debug | Restarting build session due to /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs (modified) Action Queue: [] Keys: [ GetModificationTime; /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs , GetModificationTime; /Users/rdayabhai/.cache/ghcide/main-bbb5fea6fe011fffdd7eefa61c06ec3b11d41395/Docker.hie ] Aborting previous build session took 0.00s 2023-09-13T15:33:54.992077Z | Debug | Modified text document: file:///Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:54.995205Z | Debug | Finished: Completion Took: 0.00s 2023-09-13T15:33:54.995612Z | Debug | Finished: C:GhcSession:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.00s 2023-09-13T15:33:55.000146Z | Debug | Finished: Took: 0.00s 2023-09-13T15:33:55.016909Z | Debug | Finished: C:GetModSummaryWithoutTimestamps:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.02s 2023-09-13T15:33:55.017983Z | Debug | Finished: C:NonLocalCompletions:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.02s 2023-09-13T15:33:55.018203Z | Debug | Finished: C:GetParsedModule:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.02s 2023-09-13T15:33:55.018336Z | Debug | hlint: Getting hlint ideas for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs" 2023-09-13T15:33:55.018366Z | Debug | Finished: C:LocalCompletions:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.02s 2023-09-13T15:33:55.018470Z | Debug | hlint: Using extensions for NormalizedFilePath "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs": [ UndecidableInstances , MonomorphismRestriction , MonoLocalBinds , DeepSubsumption , RelaxedPolyRec , ForeignFunctionInterface , TypeFamilies , OverloadedStrings , DisambiguateRecordFields , GADTs , GADTSyntax , DoAndIfThenElse , BlockArguments , DataKinds , DeriveGeneric , DeriveAnyClass , TypeSynonymInstances , FlexibleContexts , FlexibleInstances , ConstrainedClassMethods , MultiParamTypeClasses , EmptyDataDecls , KindSignatures , PatternGuards , TypeOperators , ExplicitNamespaces , DatatypeContexts , TraditionalRecordSyntax , LambdaCase , DuplicateRecordFields , TypeApplications , StrictData , StarIsType , CUSKs , FieldSelectors ] 2023-09-13T15:33:55.019252Z | Debug | Finished: C:GetBindings:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.02s 2023-09-13T15:33:55.021256Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:55.042565Z | Debug | Finished: Outline Took: 0.00s 2023-09-13T15:33:56.080276Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:141:15 "fp" "/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs" 2023-09-13T15:33:56.080331Z | Debug | Finished: classplugin.TypeCheck Took: 0.00s 2023-09-13T15:33:56.080386Z | Debug | Finished: codeLens.config Took: 0.00s 2023-09-13T15:33:56.080631Z | Debug | Finished: ModuleName.ghcSession Took: 0.00s 2023-09-13T15:33:56.080675Z | Debug | moduleName: ModuleName.SrcPaths: [ /Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build , /Users/rdayabhai/code/Simple-Haskell-Handbook/src , /Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build/autogen , /Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build/global-autogen ] 2023-09-13T15:33:56.080905Z | Debug | moduleName: ModuleName.NormalisedPaths: [ /Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build/ , /Users/rdayabhai/code/Simple-Haskell-Handbook/src/ , /Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build/autogen/ , /Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/dist/x86_64-osx/Cabal-3.6.3.0/build/global-autogen/ ] 2023-09-13T15:33:56.081042Z | Debug | Finished: classplugin.GetInstanceBindTypeSigs Took: 0.00s 2023-09-13T15:33:56.081060Z | Debug | Finished: eval.GetParsedModuleWithComments Took: 0.00s 2023-09-13T15:33:56.081084Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:141:15 "comments" "Comments {lineComments = fromList [], blockComments = fromList [(Range {_start = Position {_line = 0, _character = 0}, _end = Position {_line = 0, _character = 185}},RawBlockComment {getRawBlockComment = \"{-# LANGUAGE DuplicateRecordFields, DataKinds, FlexibleInstances, TypeApplications, FlexibleContexts, MultiParamTypeClasses, TypeFamilies, TypeOperators, GADTs, UndecidableInstances #-}\"}),(Range {_start = Position {_line = 1, _character = 0}, _end = Position {_line = 1, _character = 38}},RawBlockComment {getRawBlockComment = \"{- HLINT ignore \\\"Redundant bracket\\\" -}\"})]}" 2023-09-13T15:33:56.081126Z | Debug | moduleName: ModuleName.AbsoluteFilePath: /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:56.081163Z | Debug | Finished: classplugin.insertPragmaIfNotPresent.GhcSession Took: 0.00s 2023-09-13T15:33:56.081209Z | Debug | Finished: codeLens.GetGlobalBindingTypeSigs Took: 0.00s 2023-09-13T15:33:56.081235Z | Debug | Finished: classplugin.insertPragmaIfNotPresent.GetFileContents Took: 0.00s 2023-09-13T15:33:56.081254Z | Debug | Finished: classplugin.insertPragmaIfNotPresent.GetParsedModuleWithComments Took: 0.00s 2023-09-13T15:33:56.081254Z | Debug | Finished: ImportActions Took: 0.00s 2023-09-13T15:33:56.081369Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:141:15 "Tests" "0 tests in 2 sections 0 setups 0 lenses." 2023-09-13T15:33:56.081420Z | Debug | moduleName: ModuleName.CorrectNames: [Docker] 2023-09-13T15:33:56.082026Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:141:15 "tests" "0.00s" 2023-09-13T15:33:56.082121Z | Debug | moduleName: ModuleName.BestName: Docker 2023-09-13T15:33:56.082225Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:141:15 "codeLens" "0.00s" 2023-09-13T15:33:56.082369Z | Debug | Finished: ModuleName.GetParsedModule Took: 0.00s 2023-09-13T15:33:56.082381Z | Debug | moduleName: ModuleName.StatedNameMaybe: Docker 2023-09-13T15:33:56.092231Z | Debug | Finished: FoldingRange Took: 0.00s 2023-09-13T15:33:56.092247Z | Debug | codeRange: Rule Failed: GetCodeRange 2023-09-13T15:33:56.093913Z | Debug | Finished: ImportActions Took: 0.00s 2023-09-13T15:33:58.523146Z | Debug | DocumentHighlight request at position 14:3 in file: /Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs 2023-09-13T15:33:58.523442Z | Debug | Finished: C:GetHieAst:/Users/rdayabhai/code/Simple-Haskell-Handbook/src/Docker.hs Took: 0.00s 2023-09-13T15:34:36.752619Z | Info | Live bytes: 129.95MB Heap size: 1104.15MB ```

Will try those other scenarios later today!

mrcjkb commented 10 months ago

Will try those other scenarios later today!

:pray:

/Users/rdayabhai/code/Simple-Haskell-Handbook/.stack-work/

Hmm, maybe it's project-specific? I've been trying to reproduce it with a test file that is not part of a project. I just tried with a Stack project, too, but to no avail, unfortunately.

Is the project you're working with available online? Does the error also occur in non-project files?

Per48edjes commented 10 months ago

Hmm, maybe it's project-specific? Does the error also occur in non-project files?

Definitely not project-specific ... the error shows up for all projects and even standalone *.hs.

Is the project you're working with available online?

https://github.com/Per48edjes/Simple-Haskell-Handbook

Per48edjes commented 10 months ago

More fun facts: running :UfoDisableFold (vs. :UfoDisable from earlier) also seems sufficient to stop the error.

Per48edjes commented 10 months ago

Minimal config and nvim-ufo + nvim-lspconfig (using the LSP as the main provider) - without haskell-tools (you will need to call require('lspconfig').hls.setup {} in the minimal config, and disable the haskell-tools plugin).

Error persists under this scenario!

Minimal config and nvim-ufo + haskell-tools (using the LSP as the main provider) - without lspconfig

Wasn't 100% sure how to set this up in the minimal config, but here is what I ended up with.

...and the error still persists in this case, too!

Thus far, my working hypothesis is it has something to do with nvim-ufo & haskell-language-server interaction; perhaps, my nvim-ufo config is borked? I'm using the out-of-box config from AstroNvim for that.

mrcjkb commented 10 months ago

Yup, that's my current hypothesis, too.

One thing I just noticed from your :checkhealth call:

Checking external dependencies ~

  • OK haskell-language-server: found haskell-language-server version: 2.2.0.0 (GHC: 8.10.7) (PATH: /Users/rdayabhai/.local/share/nvim/mason/packages/haskell-language-server/lib/haskell-language-server-2.2.0.0/bin/haskell-language-server-wrapper)

You're using GHC 8.10.7 - I'm on GHC 9.4.6. Maybe that's why I can't reproduce it. I'm trying to build hls from source with GHC 8.10.7 now...

mrcjkb commented 10 months ago

...and it failed.

How do you install hls? I guess AstoNVim uses a prebuilt binary downloaded by mason.nvim? Or are you using HomeBrew?

Per48edjes commented 10 months ago

How do you install hls? I guess AstoNVim uses a prebuilt binary downloaded by mason.nvim?

Yep, mason.nvim to manage HLS that gets called by NeoVim. Otherwise, I'm using GHCup to manage the Haskell toolchain.

mrcjkb commented 10 months ago

Ah, ghcup (which mason uses, too) is broken on NixOS, so I can't try that. And the log you posted says it was using GHC 9.2.8, so it's unlikely to be the GHC version either.

I'll see if I can find something in the ufo config. But I fear I'm starting to run out of ideas...

Per48edjes commented 10 months ago

You and me both, brother. 🥲 One thing (once I'm back at my desk) I want to try is a full reinstall of managed packages (via Mason)...that or some sort of "rollback" to a previous state of affairs (clearly, not a fully baked idea 😄 )? 🤞🏽

mrcjkb commented 10 months ago

Nope, I couldn't reproduce it with the AstroNVim config either.

But this looks interesting:

provider_selector = function(_, filetype, buftype)
        local function handleFallbackException(bufnr, err, providerName)
          if type(err) == "string" and err:match "UfoFallbackException" then
            return require("ufo").getFolds(bufnr, providerName)
          else
            return require("promise").reject(err)
          end
        end

        return (filetype == "" or buftype == "nofile") and "indent" -- only use indent until a file is opened
          or function(bufnr)
            return require("ufo")
              .getFolds(bufnr, "lsp")
              :catch(function(err) return handleFallbackException(bufnr, err, "treesitter") end)
              :catch(function(err) return handleFallbackException(bufnr, err, "indent") end)
          end
      end,

Specifically, the line

return require("promise").reject(err)

I think that could be where the error is thrown in AstroNVim, so as a workaround, you could try replacing that line with something like

return require("ufo").getFolds(bufnr, 'treesitter')

or

return require("ufo").getFolds(bufnr, 'indent')

If that works, then the next step would be to figure out why nvim-ufo isn't throwing a UfoFallbackException...

mrcjkb commented 10 months ago

Huzzah! I may have just found the bug in nvim-ufo.

In nvim-ufo:

                if code == errorCodes.RequestCancelled or code == errorCodes.ContentModified then
                    reject('UfoFallbackException')
                else
                    reject(err)
                end

In haskell-language-server:

toErrorCode (PluginRuleFailed _)       = InL LSPErrorCodes_RequestFailed

and

      PluginRuleFailed rule       -> "Rule Failed:"        <+> pretty rule
Per48edjes commented 10 months ago

😲 👏🏽 🙌🏽 THIS WORKED!!! 🎉 🎆 🍾

Seriously, thank you @mrcjkb , SO much for jumping down this rabbit hole with me and doggedly chasing down this bug. 🙏🏽 I was about to blow up my entire set-up and start from nil... 😬

mrcjkb commented 10 months ago

🎉🎉🎉

No problem 😅 Thanks to you too. I would have probably encountered it myself, eventually.