cwtools / cwtools/cwtools-vscode

IOException: The filename, directory name, or volume label syntax is incorrect. Version 0.10.31

Open
#162 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.