UNPKG

sussudio

Version:

An unofficial VS Code Internal API

27 lines (26 loc) 1.27 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { Schemas } from "../../../base/common/network.mjs"; export function isVirtualResource(resource) { return resource.scheme !== Schemas.file && resource.scheme !== Schemas.vscodeRemote; } export function getVirtualWorkspaceLocation(workspace) { if (workspace.folders.length) { return workspace.folders.every(f => isVirtualResource(f.uri)) ? workspace.folders[0].uri : undefined; } else if (workspace.configuration && isVirtualResource(workspace.configuration)) { return workspace.configuration; } return undefined; } export function getVirtualWorkspaceScheme(workspace) { return getVirtualWorkspaceLocation(workspace)?.scheme; } export function getVirtualWorkspaceAuthority(workspace) { return getVirtualWorkspaceLocation(workspace)?.authority; } export function isVirtualWorkspace(workspace) { return getVirtualWorkspaceLocation(workspace) !== undefined; }