cwtools / cwtools/cwtools-vscode
IOException: The filename, directory name, or volume label syntax is incorrect. Version 0.10.31
- Dominant language
- F#
- Stars
- 110
- Forks
- 19
- PR merge metrics
- No merged PRs in 30d
Description
The file path seems to be merging: `examplemod\vscode-userdata:\c%3A\Users\user\`
```
System.IO.IOException: The filename, directory name, or volume label syntax is incorrect. : 'c:\Users\user\Documents\Paradox Interactive\Hearts of Iron IV\mod\examplemod\vscode-userdata:\c%3A\Users\user\AppData\Roaming\VSCodium\User\globalStorage\tboby.cwtools-vscode\.cwtools\hoi4'.
at System.IO.FileSystem.CreateDirectory(String fullPath, Byte[] securityDescriptor)
at System.IO.Directory.CreateDirectory(String path)
at Main.Program.LSP-Types-ILanguageServer-DidChangeConfiguration@1087-13.Invoke(Unit unitVar) in /home/runner/work/cwtools-vscode/cwtools-vscode/src/Main/Program.fs:line 1094
at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvoke[T,TResult](AsyncActivation`1 ctxt, TResult result1, FSharpFunc`2 part2) in D:\a\_work\1\s\src\FSharp.Core\async.fs:line 509
at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction) in D:\a\_work\1\s\src\FSharp.Core\async.fs:line 112
--- End of stack trace from previous location ---
at Microsoft.FSharp.Control.AsyncResult`1.Commit() in D:\a\_work\1\s\src\FSharp.Core\async.fs:line 453
at Microsoft.FSharp.Control.AsyncPrimitives.QueueAsyncAndWaitForResultSynchronously[a](CancellationToken token, FSharpAsync`1 computation, FSharpOption`1 timeout) in D:\a\_work\1\s\src\FSharp.Core\async.fs:line 1138
at Microsoft.FSharp.Control.AsyncPrimitives.RunSynchronously[T](CancellationToken cancellationToken, FSharpAsync`1 computation, FSharpOption`1 timeout) in D:\a\_work\1\s\src\FSharp.Core\async.fs:line 1165
at Microsoft.FSharp.Control.FSharpAsync.RunSynchronously[T](FSharpAsync`1 computation, FSharpOption`1 timeout, FSharpOption`1 cancellationToken) in D:\a\_work\1\s\src\FSharp.Core\async.fs:line 1514
at LSP.LanguageServer.connect(FSharpFunc`2 serverFactory, BinaryReader receive, BinaryWriter send) in /home/runner/work/cwtools-vscode/cwtools-vscode/src/LSP/LanguageServer.fs:line 342
at Main.Program.main(String[] _arg1) in /home/runner/work/cwtools-vscode/cwtools-vscode/src/Main/Program.fs:line 1747
```
This seemingly shows up between versions 0.10.31 and 0.10.23.
Steps to reproduce:
I'm not exactly sure how to replicate this as all I did was just install it, set my hoi4 path. Previous versions ( 0.10.22) work
Contributor guide
Research direction
Start at src/Main/Program.fs line 1094, where the language server handles the configuration change and attempts to create the directory. Compare how the HOI4 path and VSCodium userdata path are combined in versions 0.10.22 and 0.10.31. Done means setting the HOI4 path no longer produces the malformed vscode-userdata path or the IOException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fsharp
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 48/100