Skip to content

Commit 36183d9

Browse files
committed
refactor: make vscode.ts logic easier to read
1 parent d906da9 commit 36183d9

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

src/node/routes/vscode.ts

+16-10
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ export class CodeServerRouteWrapper {
2626

2727
private $root: express.Handler = async (req, res, next) => {
2828
const isAuthenticated = await authenticated(req)
29+
const NO_FOLDER_OR_WORKSPACE_QUERY = !req.query.folder && !req.query.workspace
2930

3031
if (!isAuthenticated) {
3132
const to = self(req)
@@ -34,30 +35,35 @@ export class CodeServerRouteWrapper {
3435
})
3536
}
3637

37-
if (!req.query.folder && !req.query.workspace) {
38+
if (NO_FOLDER_OR_WORKSPACE_QUERY) {
3839
const settings = await req.settings.read()
3940
const lastOpened = settings.query || {}
41+
// Ew means the workspace was closed so clear the last folder/workspace.
42+
const HAS_EW_QUERY = req.query.ew
43+
// This flag disables the last opened behavior
44+
const IGNORE_LAST_OPENED = req.args["ignore-last-opened"]
45+
const HAS_LAST_OPENED_FOLDER_OR_WORKSPACE = lastOpened.folder || lastOpened.workspace
46+
const HAS_FOLDER_OR_WORKSPACE_FROM_CLI = req.args._.length > 0
47+
const to = self(req)
48+
4049
let folder = undefined
4150
let workspace = undefined
42-
const to = self(req)
4351

44-
// Ew means the workspace was closed so clear the last folder/workspace.
45-
if (req.query.ew) {
52+
if (HAS_EW_QUERY) {
4653
delete lastOpened.folder
4754
delete lastOpened.workspace
4855
}
4956

5057
// Redirect to the last folder/workspace if nothing else is opened.
51-
if (
52-
(lastOpened.folder || lastOpened.workspace) &&
53-
!req.args["ignore-last-opened"] // This flag disables this behavior.
54-
) {
58+
if (HAS_LAST_OPENED_FOLDER_OR_WORKSPACE && !IGNORE_LAST_OPENED) {
5559
folder = lastOpened.folder
5660
workspace = lastOpened.workspace
57-
} else if (req.args._.length > 0) {
61+
} else if (HAS_FOLDER_OR_WORKSPACE_FROM_CLI) {
5862
const lastEntry = path.resolve(req.args._[req.args._.length - 1])
5963
const entryIsFile = await isFile(lastEntry)
60-
if (entryIsFile && path.extname(lastEntry) === ".code-workspace") {
64+
const IS_WORKSPACE_FILE = entryIsFile && path.extname(lastEntry) === ".code-workspace"
65+
66+
if (IS_WORKSPACE_FILE) {
6167
workspace = lastEntry
6268
} else if (!entryIsFile) {
6369
folder = lastEntry

0 commit comments

Comments
 (0)