Description
I decided to try out HLS via VSCode on Windows this morning. Mostly it works great, but every now and then this error pops up for me:
...: renameFile:renamePath:MoveFileEx "..." Just "..." permission denied (Access is denied.)
{
"resource": "/E:/code/haskell-packages/rattletrap/src/lib/Rattletrap/Type/Attribute/RigidBodyState.hs",
"owner": "Haskell (rattletrap)",
"severity": 8,
"message": "C:\\Users\\Taylor\\AppData\\Local\\ghcide\\main-6d3248553bb2b8d6eadeacc8ff134cc56b522e2e\\Rattletrap\\Type\\Attribute\\ext5A3: renameFile:renamePath:MoveFileEx \"\\\\\\\\?\\\\C:\\\\Users\\\\Taylor\\\\AppData\\\\Local\\\\ghcide\\\\main-6d3248553bb2b8d6eadeacc8ff134cc56b522e2e\\\\Rattletrap\\\\Type\\\\Attribute\\\\ext5A3\" Just \"\\\\\\\\?\\\\C:\\\\Users\\\\Taylor\\\\AppData\\\\Local\\\\ghcide\\\\main-6d3248553bb2b8d6eadeacc8ff134cc56b522e2e\\\\Rattletrap\\\\Type\\\\Attribute\\\\RigidBodyState.hie\": permission denied (Access is denied.)",
"source": "compiler",
"startLineNumber": 1,
"startColumn": 1,
"endLineNumber": 2,
"endColumn": 1
}
I'm using this with a pretty normal Stack project: one package, no custom setup, no Template Haskell.
Your environment
I don't have access to haskell-language-server
or haskell-language-server-wrapper
in my shell, although clearly the VSCode extension has it somewhere behind the scenes. How can I use the executable that the extension is using?
Which lsp-client do you use: Visual Studio Code 1.54.1
Describe your project (alternative: link to the project): https://github.com/tfausak/rattletrap
Contents of hie.yaml
:
# Not included in the repo, but same as implicit cradle.
cradle:
stack:
- path: "./src/lib"
component: "rattletrap:lib"
- path: "./src/exe/Main.hs"
component: "rattletrap:exe:rattletrap"
- path: "./src/test"
component: "rattletrap:test:test"
Steps to reproduce
Not sure exactly how to reproduce. I'm just making normal edits to files and eventually this happens. Maybe switching branches can cause the problem? I'm not sure.
Sorry, this isn't a very thorough bug report. I'll try to pin down exactly how to get this to happen.