New node.js versions on Windows require you to pass {shell: true} in ChildProcess.spawn for .cmd scripts, as a mitigation for the BatBadBut vulnerability from earlier this year (I think).
Currently, attempting to run the language server gives this output:
[Error - 6:05:15 PM] Nim Language Server client: couldn't create connection to server.
Error: spawn EINVAL
at ChildProcess.spawn (node:internal/child_process:421:11)
at Object.spawn (node:child_process:799:9)
at c:\Users\me\.vscode-insiders\extensions\nimlang.nimlang-1.0.0\node_modules\vscode-languageclient\lib\node\main.js:426:46
at LanguageClient.createConnection (c:\Users\me\.vscode-insiders\extensions\nimlang.nimlang-1.0.0\node_modules\vscode-languageclient\lib\common\client.js:1144:28)
at LanguageClient.start (c:\Users\me\.vscode-insiders\extensions\nimlang.nimlang-1.0.0\node_modules\vscode-languageclient\lib\common\client.js:681:32)
at startLanguageServer_2214593244 (c:\Users\me\.vscode-insiders\extensions\nimlang.nimlang-1.0.0\out\nimvscode.js:17412:8)
at activate_553649241 (c:\Users\me\.vscode-insiders\extensions\nimlang.nimlang-1.0.0\out\nimvscode.js:19607:6)
at m.n (c:\Users\me\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:144:6409)
at m (c:\Users\me\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:144:6372)
at m.l (c:\Users\me\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:144:5829)
It can be worked around for now by setting nim.lsp.path to the direct path to nimlangserver.exe (for me this is "C:\Users\me.nimble\pkgs2\nimlangserver-1.4.0-20579f6b83a2b3b7b2af7e3e9cef94c27266fe1b\nimlangserver.exe").
New node.js versions on Windows require you to pass
{shell: true}
in ChildProcess.spawn for .cmd scripts, as a mitigation for the BatBadBut vulnerability from earlier this year (I think).Currently, attempting to run the language server gives this output:
I found https://github.com/nodejs/node/issues/52554 by attempting to narrow down this error.
It can be worked around for now by setting nim.lsp.path to the direct path to nimlangserver.exe (for me this is "C:\Users\me.nimble\pkgs2\nimlangserver-1.4.0-20579f6b83a2b3b7b2af7e3e9cef94c27266fe1b\nimlangserver.exe").