mirror of
https://github.com/coder/code-server.git
synced 2026-05-05 03:55:18 +02:00
refactor: remove folder/workspace from vsCodeCliArgs (#4932)
* refactor: remove folder/workspace from vsCodeCliArgs Since we handle this in the vscode.ts route, we no longer need to pass it to VS Code as a CLI arg since it's deprecated on that side. * feat(vscode): redirect to folder from cli * Update src/node/routes/vscode.ts Co-authored-by: Asher <ash@coder.com> * fixup!: update _: type * fixup!: move vars to lower if block * fixup!: share redirect block * fixup!: mmove req.query.ew block into if * fixup!: refactor vscode tests * refactor: make vscode.ts logic easier to read * fixup!: fix broken tests and clean up logic * chore: upgrade vscode version * fixup!: delete unnecessary if closed block * Update src/node/routes/vscode.ts Co-authored-by: Asher <ash@coder.com> * fixup!: rename to FOLDER_OR_WORKSPACE_WAS_CLOSED Co-authored-by: Asher <ash@coder.com>
This commit is contained in:
@@ -3,15 +3,7 @@ import { promises as fs } from "fs"
|
||||
import yaml from "js-yaml"
|
||||
import * as os from "os"
|
||||
import * as path from "path"
|
||||
import {
|
||||
canConnect,
|
||||
generateCertificate,
|
||||
generatePassword,
|
||||
humanPath,
|
||||
paths,
|
||||
isNodeJSErrnoException,
|
||||
isFile,
|
||||
} from "./util"
|
||||
import { canConnect, generateCertificate, generatePassword, humanPath, paths, isNodeJSErrnoException } from "./util"
|
||||
|
||||
const DEFAULT_SOCKET_PATH = path.join(os.tmpdir(), "vscode-ipc")
|
||||
|
||||
@@ -448,7 +440,7 @@ export interface DefaultedArgs extends ConfigArgs {
|
||||
"extensions-dir": string
|
||||
"user-data-dir": string
|
||||
/* Positional arguments. */
|
||||
_: []
|
||||
_: string[]
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -770,25 +762,9 @@ export const shouldOpenInExistingInstance = async (args: UserProvidedArgs): Prom
|
||||
* Convert our arguments to VS Code server arguments.
|
||||
*/
|
||||
export const toVsCodeArgs = async (args: DefaultedArgs): Promise<CodeServerLib.ServerParsedArgs> => {
|
||||
let workspace = ""
|
||||
let folder = ""
|
||||
if (args._.length) {
|
||||
const lastEntry = path.resolve(args._[args._.length - 1])
|
||||
const entryIsFile = await isFile(lastEntry)
|
||||
if (entryIsFile && path.extname(lastEntry) === ".code-workspace") {
|
||||
workspace = lastEntry
|
||||
} else if (!entryIsFile) {
|
||||
folder = lastEntry
|
||||
}
|
||||
// Otherwise it is a regular file. Spawning VS Code with a file is not yet
|
||||
// supported but it can be done separately after code-server spawns.
|
||||
}
|
||||
|
||||
return {
|
||||
"connection-token": "0000",
|
||||
...args,
|
||||
workspace,
|
||||
folder,
|
||||
"accept-server-license-terms": true,
|
||||
/** Type casting. */
|
||||
help: !!args.help,
|
||||
|
||||
Reference in New Issue
Block a user