diff --git a/src/node/app/vscode.ts b/src/node/app/vscode.ts index 2f1132e040f595be7e35817241d5182485849b90..1bf5251504c909883d5da97d6cbb8c1f167fd06e 100644 --- a/src/node/app/vscode.ts +++ b/src/node/app/vscode.ts @@ -178,7 +178,7 @@ export class VscodeHttpProvider extends HttpProvider { { url: route.query.workspace, workspace: true }, { url: route.query.folder, workspace: false }, lastVisited, - this.args._ && this.args._.length > 0 ? { url: this.args._[0] } : undefined, + this.args._ && this.args._.length > 0 ? { url: this.args._[this.args._.length - 1] } : undefined, ], remoteAuthority, ) diff --git a/test/cli.test.ts b/test/cli.test.ts index 6bb4e07a620f5b0040449df05cae8f5880b40efe..9de3900ebbbeab78f186c40b490dcbae93947b24 100644 --- a/test/cli.test.ts +++ b/test/cli.test.ts @@ -151,4 +151,13 @@ describe("cli", () => { }) assert.throws(() => parse(["--cert", "--socket-path-value"]), /Unknown option --socket-path-value/) }) + + it("should allow positional arguments before options", () => { + assert.deepEqual(parse(["foo", "test", "--auth", "none"]), { + _: ["foo", "test"], + "extensions-dir": path.join(xdgLocalDir, "extensions"), + "user-data-dir": xdgLocalDir, + auth: "none", + }) + }) })