paths - move path to extpath

This commit is contained in:
Benjamin Pasero
2019-02-12 20:30:37 +01:00
parent ac56ab6272
commit b0acf49b18
74 changed files with 257 additions and 257 deletions

View File

@@ -5,7 +5,7 @@
import * as arrays from 'vs/base/common/arrays'; import * as arrays from 'vs/base/common/arrays';
import * as strings from 'vs/base/common/strings'; import * as strings from 'vs/base/common/strings';
import * as extpath from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import * as paths from 'vs/base/common/paths.node'; import * as paths from 'vs/base/common/paths.node';
import { LRUCache } from 'vs/base/common/map'; import { LRUCache } from 'vs/base/common/map';
import { CharCode } from 'vs/base/common/charCode'; import { CharCode } from 'vs/base/common/charCode';

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { normalize } from 'vs/base/common/paths'; import { normalize } from 'vs/base/common/extpath';
import { sep, posix } from 'vs/base/common/paths.node'; import { sep, posix } from 'vs/base/common/paths.node';
import { endsWith, ltrim, startsWithIgnoreCase, rtrim, startsWith } from 'vs/base/common/strings'; import { endsWith, ltrim, startsWithIgnoreCase, rtrim, startsWith } from 'vs/base/common/strings';
import { Schemas } from 'vs/base/common/network'; import { Schemas } from 'vs/base/common/network';

View File

@@ -3,7 +3,7 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import * as extpath from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import * as paths from 'vs/base/common/paths.node'; import * as paths from 'vs/base/common/paths.node';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { equalsIgnoreCase } from 'vs/base/common/strings'; import { equalsIgnoreCase } from 'vs/base/common/strings';

View File

@@ -10,7 +10,7 @@ import * as nls from 'vs/nls';
import * as Types from 'vs/base/common/types'; import * as Types from 'vs/base/common/types';
import { IStringDictionary } from 'vs/base/common/collections'; import { IStringDictionary } from 'vs/base/common/collections';
import * as Objects from 'vs/base/common/objects'; import * as Objects from 'vs/base/common/objects';
import * as TPath from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import * as Platform from 'vs/base/common/platform'; import * as Platform from 'vs/base/common/platform';
import { LineDecoder } from 'vs/base/node/decoder'; import { LineDecoder } from 'vs/base/node/decoder';
import { CommandOptions, ForkOptions, SuccessData, Source, TerminateResponse, TerminateResponseCode, Executable } from 'vs/base/common/processes'; import { CommandOptions, ForkOptions, SuccessData, Source, TerminateResponse, TerminateResponseCode, Executable } from 'vs/base/common/processes';
@@ -168,7 +168,7 @@ export abstract class AbstractProcess<TProgressData> {
} }
public start(pp: ProgressCallback<TProgressData>): Promise<SuccessData> { public start(pp: ProgressCallback<TProgressData>): Promise<SuccessData> {
if (Platform.isWindows && ((this.options && this.options.cwd && TPath.isUNC(this.options.cwd)) || !this.options && TPath.isUNC(process.cwd()))) { if (Platform.isWindows && ((this.options && this.options.cwd && extpath.isUNC(this.options.cwd)) || !this.options && extpath.isUNC(process.cwd()))) {
return Promise.reject(new Error(nls.localize('TaskRunner.UNC', 'Can\'t execute a shell command on a UNC drive.'))); return Promise.reject(new Error(nls.localize('TaskRunner.UNC', 'Can\'t execute a shell command on a UNC drive.')));
} }
return this.useExec().then((useExec) => { return this.useExec().then((useExec) => {

View File

@@ -0,0 +1,134 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as assert from 'assert';
import * as extpath from 'vs/base/common/extpath';
import * as platform from 'vs/base/common/platform';
suite('Paths', () => {
test('normalize', () => {
assert.equal(extpath.normalize(''), '.');
assert.equal(extpath.normalize('.'), '.');
assert.equal(extpath.normalize('.'), '.');
assert.equal(extpath.normalize('../../far'), '../../far');
assert.equal(extpath.normalize('../bar'), '../bar');
assert.equal(extpath.normalize('../far'), '../far');
assert.equal(extpath.normalize('./'), './');
assert.equal(extpath.normalize('./././'), './');
assert.equal(extpath.normalize('./ff/./'), 'ff/');
assert.equal(extpath.normalize('./foo'), 'foo');
assert.equal(extpath.normalize('/'), '/');
assert.equal(extpath.normalize('/..'), '/');
assert.equal(extpath.normalize('///'), '/');
assert.equal(extpath.normalize('//foo'), '/foo');
assert.equal(extpath.normalize('//foo//'), '/foo/');
assert.equal(extpath.normalize('/foo'), '/foo');
assert.equal(extpath.normalize('/foo/bar.test'), '/foo/bar.test');
assert.equal(extpath.normalize('\\\\\\'), '/');
assert.equal(extpath.normalize('c:/../ff'), 'c:/ff');
assert.equal(extpath.normalize('c:\\./'), 'c:/');
assert.equal(extpath.normalize('foo/'), 'foo/');
assert.equal(extpath.normalize('foo/../../bar'), '../bar');
assert.equal(extpath.normalize('foo/./'), 'foo/');
assert.equal(extpath.normalize('foo/./bar'), 'foo/bar');
assert.equal(extpath.normalize('foo//'), 'foo/');
assert.equal(extpath.normalize('foo//'), 'foo/');
assert.equal(extpath.normalize('foo//bar'), 'foo/bar');
assert.equal(extpath.normalize('foo//bar/far'), 'foo/bar/far');
assert.equal(extpath.normalize('foo/bar/../../far'), 'far');
assert.equal(extpath.normalize('foo/bar/../far'), 'foo/far');
assert.equal(extpath.normalize('foo/far/../../bar'), 'bar');
assert.equal(extpath.normalize('foo/far/../../bar'), 'bar');
assert.equal(extpath.normalize('foo/xxx/..'), 'foo');
assert.equal(extpath.normalize('foo/xxx/../bar'), 'foo/bar');
assert.equal(extpath.normalize('foo/xxx/./..'), 'foo');
assert.equal(extpath.normalize('foo/xxx/./../bar'), 'foo/bar');
assert.equal(extpath.normalize('foo/xxx/./bar'), 'foo/xxx/bar');
assert.equal(extpath.normalize('foo\\bar'), 'foo/bar');
assert.equal(extpath.normalize(null), null);
assert.equal(extpath.normalize(undefined), undefined);
// https://github.com/Microsoft/vscode/issues/7234
assert.equal(extpath.join('/home/aeschli/workspaces/vscode/extensions/css', './syntaxes/css.plist'), '/home/aeschli/workspaces/vscode/extensions/css/syntaxes/css.plist');
});
test('getRootLength', () => {
assert.equal(extpath.getRoot('/user/far'), '/');
assert.equal(extpath.getRoot('\\\\server\\share\\some\\path'), '//server/share/');
assert.equal(extpath.getRoot('//server/share/some/path'), '//server/share/');
assert.equal(extpath.getRoot('//server/share'), '/');
assert.equal(extpath.getRoot('//server'), '/');
assert.equal(extpath.getRoot('//server//'), '/');
assert.equal(extpath.getRoot('c:/user/far'), 'c:/');
assert.equal(extpath.getRoot('c:user/far'), 'c:');
assert.equal(extpath.getRoot('http://www'), '');
assert.equal(extpath.getRoot('http://www/'), 'http://www/');
assert.equal(extpath.getRoot('file:///foo'), 'file:///');
assert.equal(extpath.getRoot('file://foo'), '');
});
test('join', () => {
assert.equal(extpath.join('.', 'bar'), 'bar');
assert.equal(extpath.join('../../foo/bar', '../../foo'), '../../foo');
assert.equal(extpath.join('../../foo/bar', '../bar/foo'), '../../foo/bar/foo');
assert.equal(extpath.join('../foo/bar', '../bar/foo'), '../foo/bar/foo');
assert.equal(extpath.join('/', 'bar'), '/bar');
assert.equal(extpath.join('//server/far/boo', '../file.txt'), '//server/far/file.txt');
assert.equal(extpath.join('/foo/', '/bar'), '/foo/bar');
assert.equal(extpath.join('\\\\server\\far\\boo', '../file.txt'), '//server/far/file.txt');
assert.equal(extpath.join('\\\\server\\far\\boo', './file.txt'), '//server/far/boo/file.txt');
assert.equal(extpath.join('\\\\server\\far\\boo', '.\\file.txt'), '//server/far/boo/file.txt');
assert.equal(extpath.join('\\\\server\\far\\boo', 'file.txt'), '//server/far/boo/file.txt');
assert.equal(extpath.join('file:///c/users/test', 'test'), 'file:///c/users/test/test');
assert.equal(extpath.join('file://localhost/c$/GitDevelopment/express', './settings'), 'file://localhost/c$/GitDevelopment/express/settings'); // unc
assert.equal(extpath.join('file://localhost/c$/GitDevelopment/express', '.settings'), 'file://localhost/c$/GitDevelopment/express/.settings'); // unc
assert.equal(extpath.join('foo', '/bar'), 'foo/bar');
assert.equal(extpath.join('foo', 'bar'), 'foo/bar');
assert.equal(extpath.join('foo', 'bar/'), 'foo/bar/');
assert.equal(extpath.join('foo/', '/bar'), 'foo/bar');
assert.equal(extpath.join('foo/', '/bar/'), 'foo/bar/');
assert.equal(extpath.join('foo/', 'bar'), 'foo/bar');
assert.equal(extpath.join('foo/bar', '../bar/foo'), 'foo/bar/foo');
assert.equal(extpath.join('foo/bar', './bar/foo'), 'foo/bar/bar/foo');
assert.equal(extpath.join('http://localhost/test', '../next'), 'http://localhost/next');
assert.equal(extpath.join('http://localhost/test', 'test'), 'http://localhost/test/test');
});
test('isUNC', () => {
if (platform.isWindows) {
assert.ok(!extpath.isUNC('foo'));
assert.ok(!extpath.isUNC('/foo'));
assert.ok(!extpath.isUNC('\\foo'));
assert.ok(!extpath.isUNC('\\\\foo'));
assert.ok(extpath.isUNC('\\\\a\\b'));
assert.ok(!extpath.isUNC('//a/b'));
assert.ok(extpath.isUNC('\\\\server\\share'));
assert.ok(extpath.isUNC('\\\\server\\share\\'));
assert.ok(extpath.isUNC('\\\\server\\share\\path'));
}
});
test('isValidBasename', () => {
assert.ok(!extpath.isValidBasename(null));
assert.ok(!extpath.isValidBasename(''));
assert.ok(extpath.isValidBasename('test.txt'));
assert.ok(!extpath.isValidBasename('/test.txt'));
assert.ok(!extpath.isValidBasename('\\test.txt'));
if (platform.isWindows) {
assert.ok(!extpath.isValidBasename('aux'));
assert.ok(!extpath.isValidBasename('Aux'));
assert.ok(!extpath.isValidBasename('LPT0'));
assert.ok(!extpath.isValidBasename('test.txt.'));
assert.ok(!extpath.isValidBasename('test.txt..'));
assert.ok(!extpath.isValidBasename('test.txt '));
assert.ok(!extpath.isValidBasename('test.txt\t'));
assert.ok(!extpath.isValidBasename('tes:t.txt'));
assert.ok(!extpath.isValidBasename('tes"t.txt'));
}
});
});

View File

@@ -1,134 +0,0 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as assert from 'assert';
import * as paths from 'vs/base/common/paths';
import * as platform from 'vs/base/common/platform';
suite('Paths', () => {
test('normalize', () => {
assert.equal(paths.normalize(''), '.');
assert.equal(paths.normalize('.'), '.');
assert.equal(paths.normalize('.'), '.');
assert.equal(paths.normalize('../../far'), '../../far');
assert.equal(paths.normalize('../bar'), '../bar');
assert.equal(paths.normalize('../far'), '../far');
assert.equal(paths.normalize('./'), './');
assert.equal(paths.normalize('./././'), './');
assert.equal(paths.normalize('./ff/./'), 'ff/');
assert.equal(paths.normalize('./foo'), 'foo');
assert.equal(paths.normalize('/'), '/');
assert.equal(paths.normalize('/..'), '/');
assert.equal(paths.normalize('///'), '/');
assert.equal(paths.normalize('//foo'), '/foo');
assert.equal(paths.normalize('//foo//'), '/foo/');
assert.equal(paths.normalize('/foo'), '/foo');
assert.equal(paths.normalize('/foo/bar.test'), '/foo/bar.test');
assert.equal(paths.normalize('\\\\\\'), '/');
assert.equal(paths.normalize('c:/../ff'), 'c:/ff');
assert.equal(paths.normalize('c:\\./'), 'c:/');
assert.equal(paths.normalize('foo/'), 'foo/');
assert.equal(paths.normalize('foo/../../bar'), '../bar');
assert.equal(paths.normalize('foo/./'), 'foo/');
assert.equal(paths.normalize('foo/./bar'), 'foo/bar');
assert.equal(paths.normalize('foo//'), 'foo/');
assert.equal(paths.normalize('foo//'), 'foo/');
assert.equal(paths.normalize('foo//bar'), 'foo/bar');
assert.equal(paths.normalize('foo//bar/far'), 'foo/bar/far');
assert.equal(paths.normalize('foo/bar/../../far'), 'far');
assert.equal(paths.normalize('foo/bar/../far'), 'foo/far');
assert.equal(paths.normalize('foo/far/../../bar'), 'bar');
assert.equal(paths.normalize('foo/far/../../bar'), 'bar');
assert.equal(paths.normalize('foo/xxx/..'), 'foo');
assert.equal(paths.normalize('foo/xxx/../bar'), 'foo/bar');
assert.equal(paths.normalize('foo/xxx/./..'), 'foo');
assert.equal(paths.normalize('foo/xxx/./../bar'), 'foo/bar');
assert.equal(paths.normalize('foo/xxx/./bar'), 'foo/xxx/bar');
assert.equal(paths.normalize('foo\\bar'), 'foo/bar');
assert.equal(paths.normalize(null), null);
assert.equal(paths.normalize(undefined), undefined);
// https://github.com/Microsoft/vscode/issues/7234
assert.equal(paths.join('/home/aeschli/workspaces/vscode/extensions/css', './syntaxes/css.plist'), '/home/aeschli/workspaces/vscode/extensions/css/syntaxes/css.plist');
});
test('getRootLength', () => {
assert.equal(paths.getRoot('/user/far'), '/');
assert.equal(paths.getRoot('\\\\server\\share\\some\\path'), '//server/share/');
assert.equal(paths.getRoot('//server/share/some/path'), '//server/share/');
assert.equal(paths.getRoot('//server/share'), '/');
assert.equal(paths.getRoot('//server'), '/');
assert.equal(paths.getRoot('//server//'), '/');
assert.equal(paths.getRoot('c:/user/far'), 'c:/');
assert.equal(paths.getRoot('c:user/far'), 'c:');
assert.equal(paths.getRoot('http://www'), '');
assert.equal(paths.getRoot('http://www/'), 'http://www/');
assert.equal(paths.getRoot('file:///foo'), 'file:///');
assert.equal(paths.getRoot('file://foo'), '');
});
test('join', () => {
assert.equal(paths.join('.', 'bar'), 'bar');
assert.equal(paths.join('../../foo/bar', '../../foo'), '../../foo');
assert.equal(paths.join('../../foo/bar', '../bar/foo'), '../../foo/bar/foo');
assert.equal(paths.join('../foo/bar', '../bar/foo'), '../foo/bar/foo');
assert.equal(paths.join('/', 'bar'), '/bar');
assert.equal(paths.join('//server/far/boo', '../file.txt'), '//server/far/file.txt');
assert.equal(paths.join('/foo/', '/bar'), '/foo/bar');
assert.equal(paths.join('\\\\server\\far\\boo', '../file.txt'), '//server/far/file.txt');
assert.equal(paths.join('\\\\server\\far\\boo', './file.txt'), '//server/far/boo/file.txt');
assert.equal(paths.join('\\\\server\\far\\boo', '.\\file.txt'), '//server/far/boo/file.txt');
assert.equal(paths.join('\\\\server\\far\\boo', 'file.txt'), '//server/far/boo/file.txt');
assert.equal(paths.join('file:///c/users/test', 'test'), 'file:///c/users/test/test');
assert.equal(paths.join('file://localhost/c$/GitDevelopment/express', './settings'), 'file://localhost/c$/GitDevelopment/express/settings'); // unc
assert.equal(paths.join('file://localhost/c$/GitDevelopment/express', '.settings'), 'file://localhost/c$/GitDevelopment/express/.settings'); // unc
assert.equal(paths.join('foo', '/bar'), 'foo/bar');
assert.equal(paths.join('foo', 'bar'), 'foo/bar');
assert.equal(paths.join('foo', 'bar/'), 'foo/bar/');
assert.equal(paths.join('foo/', '/bar'), 'foo/bar');
assert.equal(paths.join('foo/', '/bar/'), 'foo/bar/');
assert.equal(paths.join('foo/', 'bar'), 'foo/bar');
assert.equal(paths.join('foo/bar', '../bar/foo'), 'foo/bar/foo');
assert.equal(paths.join('foo/bar', './bar/foo'), 'foo/bar/bar/foo');
assert.equal(paths.join('http://localhost/test', '../next'), 'http://localhost/next');
assert.equal(paths.join('http://localhost/test', 'test'), 'http://localhost/test/test');
});
test('isUNC', () => {
if (platform.isWindows) {
assert.ok(!paths.isUNC('foo'));
assert.ok(!paths.isUNC('/foo'));
assert.ok(!paths.isUNC('\\foo'));
assert.ok(!paths.isUNC('\\\\foo'));
assert.ok(paths.isUNC('\\\\a\\b'));
assert.ok(!paths.isUNC('//a/b'));
assert.ok(paths.isUNC('\\\\server\\share'));
assert.ok(paths.isUNC('\\\\server\\share\\'));
assert.ok(paths.isUNC('\\\\server\\share\\path'));
}
});
test('isValidBasename', () => {
assert.ok(!paths.isValidBasename(null));
assert.ok(!paths.isValidBasename(''));
assert.ok(paths.isValidBasename('test.txt'));
assert.ok(!paths.isValidBasename('/test.txt'));
assert.ok(!paths.isValidBasename('\\test.txt'));
if (platform.isWindows) {
assert.ok(!paths.isValidBasename('aux'));
assert.ok(!paths.isValidBasename('Aux'));
assert.ok(!paths.isValidBasename('LPT0'));
assert.ok(!paths.isValidBasename('test.txt.'));
assert.ok(!paths.isValidBasename('test.txt..'));
assert.ok(!paths.isValidBasename('test.txt '));
assert.ok(!paths.isValidBasename('test.txt\t'));
assert.ok(!paths.isValidBasename('tes:t.txt'));
assert.ok(!paths.isValidBasename('tes"t.txt'));
}
});
});

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import * as assert from 'assert'; import * as assert from 'assert';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { normalize } from 'vs/base/common/paths'; import { normalize } from 'vs/base/common/extpath';
import { isWindows } from 'vs/base/common/platform'; import { isWindows } from 'vs/base/common/platform';

View File

@@ -3,7 +3,7 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { canceled } from 'vs/base/common/errors'; import { canceled } from 'vs/base/common/errors';
@@ -49,7 +49,7 @@ export class DeferredPromise<T> {
} }
export function toResource(this: any, path: string) { export function toResource(this: any, path: string) {
return URI.file(paths.join('C:\\', Buffer.from(this.test.fullTitle()).toString('base64'), path)); return URI.file(extpath.join('C:\\', Buffer.from(this.test.fullTitle()).toString('base64'), path));
} }
export function suiteRepeat(n: number, description: string, callback: (this: any) => void): void { export function suiteRepeat(n: number, description: string, callback: (this: any) => void): void {

View File

@@ -63,7 +63,7 @@ import { hasArgs } from 'vs/platform/environment/node/argv';
import { RunOnceScheduler } from 'vs/base/common/async'; import { RunOnceScheduler } from 'vs/base/common/async';
import { registerContextMenuListener } from 'vs/base/parts/contextmenu/electron-main/contextmenu'; import { registerContextMenuListener } from 'vs/base/parts/contextmenu/electron-main/contextmenu';
import { storeBackgroundColor } from 'vs/code/electron-main/theme'; import { storeBackgroundColor } from 'vs/code/electron-main/theme';
import { join } from 'vs/base/common/paths'; import { join } from 'vs/base/common/extpath';
import { homedir } from 'os'; import { homedir } from 'os';
import { sep } from 'vs/base/common/paths.node'; import { sep } from 'vs/base/common/paths.node';
import { localize } from 'vs/nls'; import { localize } from 'vs/nls';

View File

@@ -6,7 +6,7 @@
import * as path from 'vs/base/common/paths.node'; import * as path from 'vs/base/common/paths.node';
import * as arrays from 'vs/base/common/arrays'; import * as arrays from 'vs/base/common/arrays';
import * as strings from 'vs/base/common/strings'; import * as strings from 'vs/base/common/strings';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import * as platform from 'vs/base/common/platform'; import * as platform from 'vs/base/common/platform';
import * as types from 'vs/base/common/types'; import * as types from 'vs/base/common/types';
import { ParsedArgs } from 'vs/platform/environment/common/environment'; import { ParsedArgs } from 'vs/platform/environment/common/environment';
@@ -48,7 +48,7 @@ function doValidatePaths(args: string[], gotoLineMode?: boolean): string[] {
const sanitizedFilePath = sanitizeFilePath(pathCandidate, cwd); const sanitizedFilePath = sanitizeFilePath(pathCandidate, cwd);
const basename = path.basename(sanitizedFilePath); const basename = path.basename(sanitizedFilePath);
if (basename /* can be empty if code is opened on root */ && !paths.isValidBasename(basename)) { if (basename /* can be empty if code is opened on root */ && !extpath.isValidBasename(basename)) {
return null; // do not allow invalid file names return null; // do not allow invalid file names
} }

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import * as platform from 'vs/base/common/platform'; import * as platform from 'vs/base/common/platform';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import { OpenContext } from 'vs/platform/windows/common/windows'; import { OpenContext } from 'vs/platform/windows/common/windows';
import { IWorkspaceIdentifier, IResolvedWorkspace, ISingleFolderWorkspaceIdentifier, isSingleFolderWorkspaceIdentifier, isWorkspaceIdentifier } from 'vs/platform/workspaces/common/workspaces'; import { IWorkspaceIdentifier, IResolvedWorkspace, ISingleFolderWorkspaceIdentifier, isSingleFolderWorkspaceIdentifier, isWorkspaceIdentifier } from 'vs/platform/workspaces/common/workspaces';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
@@ -98,7 +98,7 @@ export function findWindowOnWorkspace<W extends ISimpleWindow>(windows: W[], wor
export function findWindowOnExtensionDevelopmentPath<W extends ISimpleWindow>(windows: W[], extensionDevelopmentPath: string): W | null { export function findWindowOnExtensionDevelopmentPath<W extends ISimpleWindow>(windows: W[], extensionDevelopmentPath: string): W | null {
for (const window of windows) { for (const window of windows) {
// match on extension development path. The path can be a path or uri string, using paths.isEqual is not 100% correct but good enough // match on extension development path. The path can be a path or uri string, using paths.isEqual is not 100% correct but good enough
if (window.extensionDevelopmentPath && paths.isEqual(window.extensionDevelopmentPath, extensionDevelopmentPath, !platform.isLinux /* ignorecase */)) { if (window.extensionDevelopmentPath && extpath.isEqual(window.extensionDevelopmentPath, extensionDevelopmentPath, !platform.isLinux /* ignorecase */)) {
return window; return window;
} }
} }

View File

@@ -17,7 +17,7 @@ import { ILogService } from 'vs/platform/log/common/log';
import { IWorkspaceIdentifier, isWorkspaceIdentifier } from 'vs/platform/workspaces/common/workspaces'; import { IWorkspaceIdentifier, isWorkspaceIdentifier } from 'vs/platform/workspaces/common/workspaces';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { isEqual as areResourcesEquals, getComparisonKey, hasToIgnoreCase } from 'vs/base/common/resources'; import { isEqual as areResourcesEquals, getComparisonKey, hasToIgnoreCase } from 'vs/base/common/resources';
import { isEqual } from 'vs/base/common/paths'; import { isEqual } from 'vs/base/common/extpath';
import { Schemas } from 'vs/base/common/network'; import { Schemas } from 'vs/base/common/network';
import { writeFile, readFile, readdir, exists, del, rename } from 'vs/base/node/pfs'; import { writeFile, readFile, readdir, exists, del, rename } from 'vs/base/node/pfs';

View File

@@ -5,7 +5,7 @@
import * as assert from 'assert'; import * as assert from 'assert';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { join, isEqual, isEqualOrParent } from 'vs/base/common/paths'; import { join, isEqual, isEqualOrParent } from 'vs/base/common/extpath';
import { FileChangeType, FileChangesEvent, isParent } from 'vs/platform/files/common/files'; import { FileChangeType, FileChangesEvent, isParent } from 'vs/platform/files/common/files';
import { isLinux, isMacintosh, isWindows } from 'vs/base/common/platform'; import { isLinux, isMacintosh, isWindows } from 'vs/base/common/platform';

View File

@@ -14,7 +14,7 @@ import { Event as CommonEvent, Emitter } from 'vs/base/common/event';
import { isWindows, isMacintosh, isLinux } from 'vs/base/common/platform'; import { isWindows, isMacintosh, isLinux } from 'vs/base/common/platform';
import { IWorkspaceIdentifier, IWorkspacesMainService, ISingleFolderWorkspaceIdentifier, isSingleFolderWorkspaceIdentifier, isWorkspaceIdentifier } from 'vs/platform/workspaces/common/workspaces'; import { IWorkspaceIdentifier, IWorkspacesMainService, ISingleFolderWorkspaceIdentifier, isSingleFolderWorkspaceIdentifier, isWorkspaceIdentifier } from 'vs/platform/workspaces/common/workspaces';
import { IHistoryMainService, IRecentlyOpened } from 'vs/platform/history/common/history'; import { IHistoryMainService, IRecentlyOpened } from 'vs/platform/history/common/history';
import { isEqual } from 'vs/base/common/paths'; import { isEqual } from 'vs/base/common/extpath';
import { RunOnceScheduler } from 'vs/base/common/async'; import { RunOnceScheduler } from 'vs/base/common/async';
import { getComparisonKey, isEqual as areResourcesEqual, dirname, fsPath } from 'vs/base/common/resources'; import { getComparisonKey, isEqual as areResourcesEqual, dirname, fsPath } from 'vs/base/common/resources';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';

View File

@@ -8,7 +8,7 @@ import { localize } from 'vs/nls';
import { Event } from 'vs/base/common/event'; import { Event } from 'vs/base/common/event';
import { IWorkspaceFolder, IWorkspace } from 'vs/platform/workspace/common/workspace'; import { IWorkspaceFolder, IWorkspace } from 'vs/platform/workspace/common/workspace';
import { URI, UriComponents } from 'vs/base/common/uri'; import { URI, UriComponents } from 'vs/base/common/uri';
import { isEqualOrParent, normalize } from 'vs/base/common/paths'; import { isEqualOrParent, normalize } from 'vs/base/common/extpath';
import { isWindows, isLinux, isMacintosh } from 'vs/base/common/platform'; import { isWindows, isLinux, isMacintosh } from 'vs/base/common/platform';
import { isAbsolute, relative, posix, resolve, extname } from 'vs/base/common/paths.node'; import { isAbsolute, relative, posix, resolve, extname } from 'vs/base/common/paths.node';
import { normalizeDriveLetter } from 'vs/base/common/labels'; import { normalizeDriveLetter } from 'vs/base/common/labels';

View File

@@ -12,7 +12,7 @@ import { isLinux } from 'vs/base/common/platform';
import { delSync, readdirSync, writeFileAndFlushSync } from 'vs/base/node/extfs'; import { delSync, readdirSync, writeFileAndFlushSync } from 'vs/base/node/extfs';
import { Event, Emitter } from 'vs/base/common/event'; import { Event, Emitter } from 'vs/base/common/event';
import { ILogService } from 'vs/platform/log/common/log'; import { ILogService } from 'vs/platform/log/common/log';
import { isEqual } from 'vs/base/common/paths'; import { isEqual } from 'vs/base/common/extpath';
import { createHash } from 'crypto'; import { createHash } from 'crypto';
import * as json from 'vs/base/common/json'; import * as json from 'vs/base/common/json';
import { toWorkspaceFolders } from 'vs/platform/workspace/common/workspace'; import { toWorkspaceFolders } from 'vs/platform/workspace/common/workspace';

View File

@@ -8,7 +8,7 @@ import { CancellationTokenSource } from 'vs/base/common/cancellation';
import * as errors from 'vs/base/common/errors'; import * as errors from 'vs/base/common/errors';
import { Emitter, Event } from 'vs/base/common/event'; import { Emitter, Event } from 'vs/base/common/event';
import { TernarySearchTree } from 'vs/base/common/map'; import { TernarySearchTree } from 'vs/base/common/map';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import * as platform from 'vs/base/common/platform'; import * as platform from 'vs/base/common/platform';
import Severity from 'vs/base/common/severity'; import Severity from 'vs/base/common/severity';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
@@ -857,7 +857,7 @@ class Extension<T> implements vscode.Extension<T> {
this._extensionService = extensionService; this._extensionService = extensionService;
this._identifier = description.identifier; this._identifier = description.identifier;
this.id = description.identifier.value; this.id = description.identifier.value;
this.extensionPath = paths.normalize(originalFSPath(description.extensionLocation), true); this.extensionPath = extpath.normalize(originalFSPath(description.extensionLocation), true);
this.packageJSON = description; this.packageJSON = description;
} }

View File

@@ -3,7 +3,7 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import { Schemas } from 'vs/base/common/network'; import { Schemas } from 'vs/base/common/network';
import { URI, UriComponents } from 'vs/base/common/uri'; import { URI, UriComponents } from 'vs/base/common/uri';
import { Event, Emitter } from 'vs/base/common/event'; import { Event, Emitter } from 'vs/base/common/event';
@@ -881,7 +881,7 @@ export class ExtHostVariableResolverService extends AbstractVariableResolverServ
if (activeEditor) { if (activeEditor) {
const resource = activeEditor.document.uri; const resource = activeEditor.document.uri;
if (resource.scheme === Schemas.file) { if (resource.scheme === Schemas.file) {
return paths.normalize(resource.fsPath, true); return extpath.normalize(resource.fsPath, true);
} }
} }
return undefined; return undefined;

View File

@@ -3,7 +3,7 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import { join } from 'vs/base/common/paths'; import { join } from 'vs/base/common/extpath';
import { ILogService, DelegatedLogService, LogLevel } from 'vs/platform/log/common/log'; import { ILogService, DelegatedLogService, LogLevel } from 'vs/platform/log/common/log';
import { createSpdLogService } from 'vs/platform/log/node/spdlogService'; import { createSpdLogService } from 'vs/platform/log/node/spdlogService';
import { ExtHostLogServiceShape } from 'vs/workbench/api/node/extHost.protocol'; import { ExtHostLogServiceShape } from 'vs/workbench/api/node/extHost.protocol';

View File

@@ -9,7 +9,7 @@ import { CancellationToken } from 'vs/base/common/cancellation';
import { Emitter, Event } from 'vs/base/common/event'; import { Emitter, Event } from 'vs/base/common/event';
import { TernarySearchTree } from 'vs/base/common/map'; import { TernarySearchTree } from 'vs/base/common/map';
import { Counter } from 'vs/base/common/numbers'; import { Counter } from 'vs/base/common/numbers';
import { normalize } from 'vs/base/common/paths'; import { normalize } from 'vs/base/common/extpath';
import { isLinux } from 'vs/base/common/platform'; import { isLinux } from 'vs/base/common/platform';
import { basenameOrAuthority, dirname, isEqual } from 'vs/base/common/resources'; import { basenameOrAuthority, dirname, isEqual } from 'vs/base/common/resources';
import { compare } from 'vs/base/common/strings'; import { compare } from 'vs/base/common/strings';

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import { hasWorkspaceFileExtension, IWorkspacesService } from 'vs/platform/workspaces/common/workspaces'; import { hasWorkspaceFileExtension, IWorkspacesService } from 'vs/platform/workspaces/common/workspaces';
import { normalize } from 'vs/base/common/paths'; import { normalize } from 'vs/base/common/extpath';
import { basename, basenameOrAuthority } from 'vs/base/common/resources'; import { basename, basenameOrAuthority } from 'vs/base/common/resources';
import { IFileService } from 'vs/platform/files/common/files'; import { IFileService } from 'vs/platform/files/common/files';
import { IWindowsService, IWindowService, IURIToOpen } from 'vs/platform/windows/common/windows'; import { IWindowsService, IWindowService, IURIToOpen } from 'vs/platform/windows/common/windows';

View File

@@ -11,7 +11,7 @@ import { Emitter, Event } from 'vs/base/common/event';
import { createMatches, FuzzyScore } from 'vs/base/common/filters'; import { createMatches, FuzzyScore } from 'vs/base/common/filters';
import * as glob from 'vs/base/common/glob'; import * as glob from 'vs/base/common/glob';
import { dispose, IDisposable } from 'vs/base/common/lifecycle'; import { dispose, IDisposable } from 'vs/base/common/lifecycle';
import { join } from 'vs/base/common/paths'; import { join } from 'vs/base/common/extpath';
import { basename, dirname, isEqual } from 'vs/base/common/resources'; import { basename, dirname, isEqual } from 'vs/base/common/resources';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import 'vs/css!./media/breadcrumbscontrol'; import 'vs/css!./media/breadcrumbscontrol';

View File

@@ -33,7 +33,7 @@ import { EventType as TouchEventType, GestureEvent } from 'vs/base/browser/touch
import { TitleControl } from 'vs/workbench/browser/parts/editor/titleControl'; import { TitleControl } from 'vs/workbench/browser/parts/editor/titleControl';
import { IEditorGroupsAccessor, IEditorGroupView, IEditorPartOptionsChangeEvent, getActiveTextEditorOptions, IEditorOpeningEvent } from 'vs/workbench/browser/parts/editor/editor'; import { IEditorGroupsAccessor, IEditorGroupView, IEditorPartOptionsChangeEvent, getActiveTextEditorOptions, IEditorOpeningEvent } from 'vs/workbench/browser/parts/editor/editor';
import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService'; import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
import { join } from 'vs/base/common/paths'; import { join } from 'vs/base/common/extpath';
import { ActionBar } from 'vs/base/browser/ui/actionbar/actionbar'; import { ActionBar } from 'vs/base/browser/ui/actionbar/actionbar';
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { ActionRunner, IAction, Action } from 'vs/base/common/actions'; import { ActionRunner, IAction, Action } from 'vs/base/common/actions';

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import * as objects from 'vs/base/common/objects'; import * as objects from 'vs/base/common/objects';
import { Event, Emitter } from 'vs/base/common/event'; import { Event, Emitter } from 'vs/base/common/event';
import { relative } from 'vs/base/common/paths.node'; import { relative } from 'vs/base/common/paths.node';
@@ -197,7 +197,7 @@ export class ResourceGlobMatcher extends Disposable {
// but can match on "src/file.txt" // but can match on "src/file.txt"
let resourcePathToMatch: string; let resourcePathToMatch: string;
if (folder) { if (folder) {
resourcePathToMatch = paths.normalize(relative(folder.uri.fsPath, resource.fsPath)); resourcePathToMatch = extpath.normalize(relative(folder.uri.fsPath, resource.fsPath));
} else { } else {
resourcePathToMatch = resource.fsPath; resourcePathToMatch = resource.fsPath;
} }

View File

@@ -9,7 +9,7 @@ import * as stream from 'stream';
import * as nls from 'vs/nls'; import * as nls from 'vs/nls';
import * as net from 'net'; import * as net from 'net';
import * as path from 'vs/base/common/paths.node'; import * as path from 'vs/base/common/paths.node';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import * as strings from 'vs/base/common/strings'; import * as strings from 'vs/base/common/strings';
import * as objects from 'vs/base/common/objects'; import * as objects from 'vs/base/common/objects';
import * as platform from 'vs/base/common/platform'; import * as platform from 'vs/base/common/platform';
@@ -441,7 +441,7 @@ export class ExecutableDebugAdapter extends StreamDebugAdapter {
const result: IDebuggerContribution = Object.create(null); const result: IDebuggerContribution = Object.create(null);
if (contribution.runtime) { if (contribution.runtime) {
if (contribution.runtime.indexOf('./') === 0) { // TODO if (contribution.runtime.indexOf('./') === 0) { // TODO
result.runtime = paths.join(extensionFolderPath, contribution.runtime); result.runtime = extpath.join(extensionFolderPath, contribution.runtime);
} else { } else {
result.runtime = contribution.runtime; result.runtime = contribution.runtime;
} }
@@ -451,7 +451,7 @@ export class ExecutableDebugAdapter extends StreamDebugAdapter {
} }
if (contribution.program) { if (contribution.program) {
if (!path.isAbsolute(contribution.program)) { if (!path.isAbsolute(contribution.program)) {
result.program = paths.join(extensionFolderPath, contribution.program); result.program = extpath.join(extensionFolderPath, contribution.program);
} else { } else {
result.program = contribution.program; result.program = contribution.program;
} }

View File

@@ -6,7 +6,7 @@
import * as assert from 'assert'; import * as assert from 'assert';
import { URI as uri } from 'vs/base/common/uri'; import { URI as uri } from 'vs/base/common/uri';
import { Source } from 'vs/workbench/contrib/debug/common/debugSource'; import { Source } from 'vs/workbench/contrib/debug/common/debugSource';
import { normalize } from 'vs/base/common/paths'; import { normalize } from 'vs/base/common/extpath';
suite('Debug - Source', () => { suite('Debug - Source', () => {

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import * as assert from 'assert'; import * as assert from 'assert';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import * as platform from 'vs/base/common/platform'; import * as platform from 'vs/base/common/platform';
import { IDebugAdapterExecutable, IConfigurationManager, IConfig, IDebugSession } from 'vs/workbench/contrib/debug/common/debug'; import { IDebugAdapterExecutable, IConfigurationManager, IConfig, IDebugSession } from 'vs/workbench/contrib/debug/common/debug';
import { Debugger } from 'vs/workbench/contrib/debug/node/debugger'; import { Debugger } from 'vs/workbench/contrib/debug/node/debugger';
@@ -144,7 +144,7 @@ suite('Debug - Debugger', () => {
const ae = ExecutableDebugAdapter.platformAdapterExecutable([extensionDescriptor0], 'mock'); const ae = ExecutableDebugAdapter.platformAdapterExecutable([extensionDescriptor0], 'mock');
assert.equal(ae!.command, paths.join(extensionFolderPath, debuggerContribution.program)); assert.equal(ae!.command, extpath.join(extensionFolderPath, debuggerContribution.program));
assert.deepEqual(ae!.args, debuggerContribution.args); assert.deepEqual(ae!.args, debuggerContribution.args);
}); });

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import { localize } from 'vs/nls'; import { localize } from 'vs/nls';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import { forEach } from 'vs/base/common/collections'; import { forEach } from 'vs/base/common/collections';
import { IDisposable, dispose, Disposable } from 'vs/base/common/lifecycle'; import { IDisposable, dispose, Disposable } from 'vs/base/common/lifecycle';
import { match } from 'vs/base/common/glob'; import { match } from 'vs/base/common/glob';
@@ -334,7 +334,7 @@ export class ExtensionTipsService extends Disposable implements IExtensionTipsSe
* Parse the extensions.json files for given workspace folder and return the recommendations * Parse the extensions.json files for given workspace folder and return the recommendations
*/ */
private resolveWorkspaceFolderExtensionConfig(workspaceFolder: IWorkspaceFolder): Promise<IExtensionsConfigContent | null> { private resolveWorkspaceFolderExtensionConfig(workspaceFolder: IWorkspaceFolder): Promise<IExtensionsConfigContent | null> {
const extensionsJsonUri = workspaceFolder.toResource(paths.join('.vscode', 'extensions.json')); const extensionsJsonUri = workspaceFolder.toResource(extpath.join('.vscode', 'extensions.json'));
return Promise.resolve(this.fileService.resolveFile(extensionsJsonUri) return Promise.resolve(this.fileService.resolveFile(extensionsJsonUri)
.then(() => this.fileService.resolveContent(extensionsJsonUri)) .then(() => this.fileService.resolveContent(extensionsJsonUri))
@@ -904,8 +904,8 @@ export class ExtensionTipsService extends Disposable implements IExtensionTipsSe
.replace('%APPDATA%', process.env['APPDATA']!); .replace('%APPDATA%', process.env['APPDATA']!);
promises.push(findExecutable(exeName, windowsPath)); promises.push(findExecutable(exeName, windowsPath));
} else { } else {
promises.push(findExecutable(exeName, paths.join('/usr/local/bin', exeName))); promises.push(findExecutable(exeName, extpath.join('/usr/local/bin', exeName)));
promises.push(findExecutable(exeName, paths.join(homeDir, exeName))); promises.push(findExecutable(exeName, extpath.join(homeDir, exeName)));
} }
}); });

View File

@@ -8,7 +8,7 @@ import { localize } from 'vs/nls';
import { IAction, Action } from 'vs/base/common/actions'; import { IAction, Action } from 'vs/base/common/actions';
import { Throttler, Delayer } from 'vs/base/common/async'; import { Throttler, Delayer } from 'vs/base/common/async';
import * as DOM from 'vs/base/browser/dom'; import * as DOM from 'vs/base/browser/dom';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import { Event } from 'vs/base/common/event'; import { Event } from 'vs/base/common/event';
import * as json from 'vs/base/common/json'; import * as json from 'vs/base/common/json';
import { ActionItem, Separator, IActionItemOptions } from 'vs/base/browser/ui/actionbar/actionbar'; import { ActionItem, Separator, IActionItemOptions } from 'vs/base/browser/ui/actionbar/actionbar';
@@ -2042,7 +2042,7 @@ export class ConfigureWorkspaceRecommendedExtensionsAction extends AbstractConfi
public run(): Promise<void> { public run(): Promise<void> {
switch (this.contextService.getWorkbenchState()) { switch (this.contextService.getWorkbenchState()) {
case WorkbenchState.FOLDER: case WorkbenchState.FOLDER:
return this.openExtensionsFile(this.contextService.getWorkspace().folders[0].toResource(paths.join('.vscode', 'extensions.json'))); return this.openExtensionsFile(this.contextService.getWorkspace().folders[0].toResource(extpath.join('.vscode', 'extensions.json')));
case WorkbenchState.WORKSPACE: case WorkbenchState.WORKSPACE:
return this.openWorkspaceConfigurationFile(this.contextService.getWorkspace().configuration!); return this.openWorkspaceConfigurationFile(this.contextService.getWorkspace().configuration!);
} }
@@ -2087,7 +2087,7 @@ export class ConfigureWorkspaceFolderRecommendedExtensionsAction extends Abstrac
return Promise.resolve(pickFolderPromise) return Promise.resolve(pickFolderPromise)
.then(workspaceFolder => { .then(workspaceFolder => {
if (workspaceFolder) { if (workspaceFolder) {
return this.openExtensionsFile(workspaceFolder.toResource(paths.join('.vscode', 'extensions.json'))); return this.openExtensionsFile(workspaceFolder.toResource(extpath.join('.vscode', 'extensions.json')));
} }
return null; return null;
}); });
@@ -2140,7 +2140,7 @@ export class AddToWorkspaceFolderRecommendationsAction extends AbstractConfigure
if (!workspaceFolder) { if (!workspaceFolder) {
return Promise.resolve(); return Promise.resolve();
} }
const configurationFile = workspaceFolder.toResource(paths.join('.vscode', 'extensions.json')); const configurationFile = workspaceFolder.toResource(extpath.join('.vscode', 'extensions.json'));
return this.getWorkspaceFolderExtensionsConfigContent(configurationFile).then(content => { return this.getWorkspaceFolderExtensionsConfigContent(configurationFile).then(content => {
const extensionIdLowerCase = extensionId.id.toLowerCase(); const extensionIdLowerCase = extensionId.id.toLowerCase();
if (shouldRecommend) { if (shouldRecommend) {
@@ -2525,7 +2525,7 @@ export class OpenExtensionsFolderAction extends Action {
if (file.children && file.children.length > 0) { if (file.children && file.children.length > 0) {
itemToShow = file.children[0].resource.fsPath; itemToShow = file.children[0].resource.fsPath;
} else { } else {
itemToShow = paths.normalize(extensionsHome, true); itemToShow = extpath.normalize(extensionsHome, true);
} }
return this.windowsService.showItemInFolder(itemToShow); return this.windowsService.showItemInFolder(itemToShow);

View File

@@ -6,7 +6,7 @@
import * as nls from 'vs/nls'; import * as nls from 'vs/nls';
import { toErrorMessage } from 'vs/base/common/errorMessage'; import { toErrorMessage } from 'vs/base/common/errorMessage';
import * as types from 'vs/base/common/types'; import * as types from 'vs/base/common/types';
import { isValidBasename } from 'vs/base/common/paths'; import { isValidBasename } from 'vs/base/common/extpath';
import { basename } from 'vs/base/common/resources'; import { basename } from 'vs/base/common/resources';
import { Action } from 'vs/base/common/actions'; import { Action } from 'vs/base/common/actions';
import { VIEWLET_ID, TEXT_FILE_EDITOR_ID, IExplorerService } from 'vs/workbench/contrib/files/common/files'; import { VIEWLET_ID, TEXT_FILE_EDITOR_ID, IExplorerService } from 'vs/workbench/contrib/files/common/files';

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { isEqual } from 'vs/base/common/paths'; import { isEqual } from 'vs/base/common/extpath';
import { posix } from 'vs/base/common/paths.node'; import { posix } from 'vs/base/common/paths.node';
import * as resources from 'vs/base/common/resources'; import * as resources from 'vs/base/common/resources';
import { ResourceMap } from 'vs/base/common/map'; import { ResourceMap } from 'vs/base/common/map';

View File

@@ -7,7 +7,7 @@ import 'vs/css!./media/fileactions';
import * as nls from 'vs/nls'; import * as nls from 'vs/nls';
import * as types from 'vs/base/common/types'; import * as types from 'vs/base/common/types';
import { isWindows, isLinux } from 'vs/base/common/platform'; import { isWindows, isLinux } from 'vs/base/common/platform';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import * as resources from 'vs/base/common/resources'; import * as resources from 'vs/base/common/resources';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { toErrorMessage } from 'vs/base/common/errorMessage'; import { toErrorMessage } from 'vs/base/common/errorMessage';
@@ -245,7 +245,7 @@ class BaseDeleteFileAction extends BaseErrorReportingAction {
) { ) {
super('moveFileToTrash', MOVE_FILE_TO_TRASH_LABEL, notificationService); super('moveFileToTrash', MOVE_FILE_TO_TRASH_LABEL, notificationService);
this.useTrash = useTrash && elements.every(e => !paths.isUNC(e.resource.fsPath)); // on UNC shares there is no trash this.useTrash = useTrash && elements.every(e => !extpath.isUNC(e.resource.fsPath)); // on UNC shares there is no trash
this.enabled = this.elements && this.elements.every(e => !e.isReadonly); this.enabled = this.elements && this.elements.every(e => !e.isReadonly);
} }
@@ -916,7 +916,7 @@ export function validateFileName(item: ExplorerItem, name: string): string {
} }
// Invalid File name // Invalid File name
if (names.some((folderName) => !paths.isValidBasename(folderName))) { if (names.some((folderName) => !extpath.isValidBasename(folderName))) {
return nls.localize('invalidFileNameError', "The name **{0}** is not valid as a file or folder name. Please choose a different name.", trimLongName(name)); return nls.localize('invalidFileNameError', "The name **{0}** is not valid as a file or folder name. Please choose a different name.", trimLongName(name));
} }

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import * as nls from 'vs/nls'; import * as nls from 'vs/nls';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { toResource, IEditorCommandsContext } from 'vs/workbench/common/editor'; import { toResource, IEditorCommandsContext } from 'vs/workbench/common/editor';
import { IWindowsService, IWindowService, IURIToOpen } from 'vs/platform/windows/common/windows'; import { IWindowsService, IWindowService, IURIToOpen } from 'vs/platform/windows/common/windows';
@@ -358,9 +358,9 @@ CommandsRegistry.registerCommand({
function revealResourcesInOS(resources: URI[], windowsService: IWindowsService, notificationService: INotificationService, workspaceContextService: IWorkspaceContextService): void { function revealResourcesInOS(resources: URI[], windowsService: IWindowsService, notificationService: INotificationService, workspaceContextService: IWorkspaceContextService): void {
if (resources.length) { if (resources.length) {
sequence(resources.map(r => () => windowsService.showItemInFolder(paths.normalize(r.fsPath, true)))); sequence(resources.map(r => () => windowsService.showItemInFolder(extpath.normalize(r.fsPath, true))));
} else if (workspaceContextService.getWorkspace().folders.length) { } else if (workspaceContextService.getWorkspace().folders.length) {
windowsService.showItemInFolder(paths.normalize(workspaceContextService.getWorkspace().folders[0].uri.fsPath, true)); windowsService.showItemInFolder(extpath.normalize(workspaceContextService.getWorkspace().folders[0].uri.fsPath, true));
} else { } else {
notificationService.info(nls.localize('openFileToReveal', "Open a file first to reveal")); notificationService.info(nls.localize('openFileToReveal', "Open a file first to reveal"));
} }

View File

@@ -26,7 +26,7 @@ import { localize } from 'vs/nls';
import { attachInputBoxStyler } from 'vs/platform/theme/common/styler'; import { attachInputBoxStyler } from 'vs/platform/theme/common/styler';
import { once } from 'vs/base/common/functional'; import { once } from 'vs/base/common/functional';
import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
import { normalize } from 'vs/base/common/paths'; import { normalize } from 'vs/base/common/extpath';
import { equals, deepClone } from 'vs/base/common/objects'; import { equals, deepClone } from 'vs/base/common/objects';
import * as path from 'vs/base/common/paths.node'; import * as path from 'vs/base/common/paths.node';
import { ExplorerItem } from 'vs/workbench/contrib/files/common/explorerModel'; import { ExplorerItem } from 'vs/workbench/contrib/files/common/explorerModel';

View File

@@ -5,7 +5,7 @@
import * as assert from 'assert'; import * as assert from 'assert';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { join } from 'vs/base/common/paths'; import { join } from 'vs/base/common/extpath';
import { FileEditorInput } from 'vs/workbench/contrib/files/common/editors/fileEditorInput'; import { FileEditorInput } from 'vs/workbench/contrib/files/common/editors/fileEditorInput';
import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
import { workbenchInstantiationService, TestTextFileService } from 'vs/workbench/test/workbenchTestServices'; import { workbenchInstantiationService, TestTextFileService } from 'vs/workbench/test/workbenchTestServices';

View File

@@ -6,7 +6,7 @@
import * as assert from 'assert'; import * as assert from 'assert';
import { FileEditorTracker } from 'vs/workbench/contrib/files/browser/editors/fileEditorTracker'; import { FileEditorTracker } from 'vs/workbench/contrib/files/browser/editors/fileEditorTracker';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { join } from 'vs/base/common/paths'; import { join } from 'vs/base/common/extpath';
import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
import { workbenchInstantiationService, TestTextFileService, TestFileService } from 'vs/workbench/test/workbenchTestServices'; import { workbenchInstantiationService, TestTextFileService, TestFileService } from 'vs/workbench/test/workbenchTestServices';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';

View File

@@ -6,7 +6,7 @@
import * as assert from 'assert'; import * as assert from 'assert';
import { isLinux, isWindows } from 'vs/base/common/platform'; import { isLinux, isWindows } from 'vs/base/common/platform';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { join } from 'vs/base/common/paths'; import { join } from 'vs/base/common/extpath';
import { validateFileName } from 'vs/workbench/contrib/files/electron-browser/fileActions'; import { validateFileName } from 'vs/workbench/contrib/files/electron-browser/fileActions';
import { ExplorerItem } from 'vs/workbench/contrib/files/common/explorerModel'; import { ExplorerItem } from 'vs/workbench/contrib/files/common/explorerModel';

View File

@@ -21,7 +21,7 @@ import Severity from 'vs/base/common/severity';
import { IJSONEditingService } from 'vs/workbench/services/configuration/common/jsonEditing'; import { IJSONEditingService } from 'vs/workbench/services/configuration/common/jsonEditing';
import { IEnvironmentService } from 'vs/platform/environment/common/environment'; import { IEnvironmentService } from 'vs/platform/environment/common/environment';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { join } from 'vs/base/common/paths'; import { join } from 'vs/base/common/extpath';
import { IWindowsService } from 'vs/platform/windows/common/windows'; import { IWindowsService } from 'vs/platform/windows/common/windows';
import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage'; import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet'; import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet';

View File

@@ -8,7 +8,7 @@ import { Action } from 'vs/base/common/actions';
import { IFileService } from 'vs/platform/files/common/files'; import { IFileService } from 'vs/platform/files/common/files';
import { IEnvironmentService } from 'vs/platform/environment/common/environment'; import { IEnvironmentService } from 'vs/platform/environment/common/environment';
import { IEditor } from 'vs/workbench/common/editor'; import { IEditor } from 'vs/workbench/common/editor';
import { join } from 'vs/base/common/paths'; import { join } from 'vs/base/common/extpath';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
import { language } from 'vs/base/common/platform'; import { language } from 'vs/base/common/platform';

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import * as nls from 'vs/nls'; import * as nls from 'vs/nls';
import { join } from 'vs/base/common/paths'; import { join } from 'vs/base/common/extpath';
import { Registry } from 'vs/platform/registry/common/platform'; import { Registry } from 'vs/platform/registry/common/platform';
import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions, IWorkbenchContribution } from 'vs/workbench/common/contributions'; import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions, IWorkbenchContribution } from 'vs/workbench/common/contributions';
import { IOutputChannelRegistry, Extensions as OutputExt, } from 'vs/workbench/contrib/output/common/output'; import { IOutputChannelRegistry, Extensions as OutputExt, } from 'vs/workbench/contrib/output/common/output';

View File

@@ -5,7 +5,7 @@
import * as nls from 'vs/nls'; import * as nls from 'vs/nls';
import { Action } from 'vs/base/common/actions'; import { Action } from 'vs/base/common/actions';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import { IEnvironmentService } from 'vs/platform/environment/common/environment'; import { IEnvironmentService } from 'vs/platform/environment/common/environment';
import { IWindowsService } from 'vs/platform/windows/common/windows'; import { IWindowsService } from 'vs/platform/windows/common/windows';
import { ILogService, LogLevel, DEFAULT_LOG_LEVEL } from 'vs/platform/log/common/log'; import { ILogService, LogLevel, DEFAULT_LOG_LEVEL } from 'vs/platform/log/common/log';
@@ -24,7 +24,7 @@ export class OpenLogsFolderAction extends Action {
} }
run(): Promise<void> { run(): Promise<void> {
return this.windowsService.showItemInFolder(paths.join(this.environmentService.logsPath, 'main.log')); return this.windowsService.showItemInFolder(extpath.join(this.environmentService.logsPath, 'main.log'));
} }
} }

View File

@@ -32,7 +32,7 @@ import { FilterOptions } from 'vs/workbench/contrib/markers/electron-browser/mar
import { IExpression, getEmptyExpression } from 'vs/base/common/glob'; import { IExpression, getEmptyExpression } from 'vs/base/common/glob';
import { mixin, deepClone } from 'vs/base/common/objects'; import { mixin, deepClone } from 'vs/base/common/objects';
import { IWorkspaceFolder, IWorkspaceContextService } from 'vs/platform/workspace/common/workspace'; import { IWorkspaceFolder, IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
import { join } from 'vs/base/common/paths'; import { join } from 'vs/base/common/extpath';
import { isAbsolute } from 'vs/base/common/paths.node'; import { isAbsolute } from 'vs/base/common/paths.node';
import { FilterData, Filter, VirtualDelegate, ResourceMarkersRenderer, MarkerRenderer, RelatedInformationRenderer, TreeElement, MarkersTreeAccessibilityProvider, MarkersViewModel, ResourceDragAndDrop } from 'vs/workbench/contrib/markers/electron-browser/markersTreeViewer'; import { FilterData, Filter, VirtualDelegate, ResourceMarkersRenderer, MarkerRenderer, RelatedInformationRenderer, TreeElement, MarkersTreeAccessibilityProvider, MarkersViewModel, ResourceDragAndDrop } from 'vs/workbench/contrib/markers/electron-browser/markersTreeViewer';
import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';

View File

@@ -6,7 +6,7 @@
import { IMirrorModel, IWorkerContext } from 'vs/editor/common/services/editorSimpleWorker'; import { IMirrorModel, IWorkerContext } from 'vs/editor/common/services/editorSimpleWorker';
import { ILink } from 'vs/editor/common/modes'; import { ILink } from 'vs/editor/common/modes';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import * as resources from 'vs/base/common/resources'; import * as resources from 'vs/base/common/resources';
import * as strings from 'vs/base/common/strings'; import * as strings from 'vs/base/common/strings';
import * as arrays from 'vs/base/common/arrays'; import * as arrays from 'vs/base/common/arrays';
@@ -88,8 +88,8 @@ export class OutputLinkComputer {
const workspaceFolderPath = workspaceFolder.scheme === 'file' ? workspaceFolder.fsPath : workspaceFolder.path; const workspaceFolderPath = workspaceFolder.scheme === 'file' ? workspaceFolder.fsPath : workspaceFolder.path;
const workspaceFolderVariants = arrays.distinct([ const workspaceFolderVariants = arrays.distinct([
paths.normalize(workspaceFolderPath, true), extpath.normalize(workspaceFolderPath, true),
paths.normalize(workspaceFolderPath, false) extpath.normalize(workspaceFolderPath, false)
]); ]);
workspaceFolderVariants.forEach(workspaceFolderVariant => { workspaceFolderVariants.forEach(workspaceFolderVariant => {

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import * as nls from 'vs/nls'; import * as nls from 'vs/nls';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import { dirname } from 'vs/base/common/paths.node'; import { dirname } from 'vs/base/common/paths.node';
import * as strings from 'vs/base/common/strings'; import * as strings from 'vs/base/common/strings';
import * as extfs from 'vs/base/node/extfs'; import * as extfs from 'vs/base/node/extfs';
@@ -185,7 +185,7 @@ class OutputChannelBackedByFile extends AbstractFileOutputChannel implements Out
@IModeService modeService: IModeService, @IModeService modeService: IModeService,
@ILogService logService: ILogService @ILogService logService: ILogService
) { ) {
super({ ...outputChannelDescriptor, file: URI.file(paths.join(outputDir, `${outputChannelDescriptor.id}.log`)) }, modelUri, fileService, modelService, modeService); super({ ...outputChannelDescriptor, file: URI.file(extpath.join(outputDir, `${outputChannelDescriptor.id}.log`)) }, modelUri, fileService, modelService, modeService);
// Use one rotating file to check for main file reset // Use one rotating file to check for main file reset
this.appender = new OutputAppender(this.id, this.file.fsPath); this.appender = new OutputAppender(this.id, this.file.fsPath);
@@ -447,7 +447,7 @@ export class OutputService extends Disposable implements IOutputService, ITextMo
) { ) {
super(); super();
this.activeChannelIdInStorage = this.storageService.get(OUTPUT_ACTIVE_CHANNEL_KEY, StorageScope.WORKSPACE, null); this.activeChannelIdInStorage = this.storageService.get(OUTPUT_ACTIVE_CHANNEL_KEY, StorageScope.WORKSPACE, null);
this.outputDir = paths.join(environmentService.logsPath, `output_${windowService.getCurrentWindowId()}_${toLocalISOString(new Date()).replace(/-|:|\.\d+Z$/g, '')}`); this.outputDir = extpath.join(environmentService.logsPath, `output_${windowService.getCurrentWindowId()}_${toLocalISOString(new Date()).replace(/-|:|\.\d+Z$/g, '')}`);
// Register as text model content provider for output // Register as text model content provider for output
textModelResolverService.registerTextModelContentProvider(OUTPUT_SCHEME, this); textModelResolverService.registerTextModelContentProvider(OUTPUT_SCHEME, this);

View File

@@ -5,7 +5,7 @@
import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
import { RawContextKey } from 'vs/platform/contextkey/common/contextkey'; import { RawContextKey } from 'vs/platform/contextkey/common/contextkey';
import { join } from 'vs/base/common/paths'; import { join } from 'vs/base/common/extpath';
import { ISettingsEditorModel, ISearchResult } from 'vs/workbench/services/preferences/common/preferences'; import { ISettingsEditorModel, ISearchResult } from 'vs/workbench/services/preferences/common/preferences';
import { IEditor } from 'vs/workbench/common/editor'; import { IEditor } from 'vs/workbench/common/editor';
import { IKeybindingItemEntry } from 'vs/workbench/services/preferences/common/keybindingsEditorModel'; import { IKeybindingItemEntry } from 'vs/workbench/services/preferences/common/keybindingsEditorModel';

View File

@@ -9,7 +9,7 @@ import { INavigator } from 'vs/base/common/iterator';
import { createKeybinding, ResolvedKeybinding } from 'vs/base/common/keyCodes'; import { createKeybinding, ResolvedKeybinding } from 'vs/base/common/keyCodes';
import { normalizeDriveLetter } from 'vs/base/common/labels'; import { normalizeDriveLetter } from 'vs/base/common/labels';
import { Schemas } from 'vs/base/common/network'; import { Schemas } from 'vs/base/common/network';
import { normalize } from 'vs/base/common/paths'; import { normalize } from 'vs/base/common/extpath';
import { isWindows, OS } from 'vs/base/common/platform'; import { isWindows, OS } from 'vs/base/common/platform';
import { repeat } from 'vs/base/common/strings'; import { repeat } from 'vs/base/common/strings';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';

View File

@@ -17,7 +17,7 @@ import { Emitter, Event } from 'vs/base/common/event';
import { Iterator } from 'vs/base/common/iterator'; import { Iterator } from 'vs/base/common/iterator';
import { KeyCode, KeyMod } from 'vs/base/common/keyCodes'; import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
import { dispose, IDisposable } from 'vs/base/common/lifecycle'; import { dispose, IDisposable } from 'vs/base/common/lifecycle';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import * as env from 'vs/base/common/platform'; import * as env from 'vs/base/common/platform';
import * as strings from 'vs/base/common/strings'; import * as strings from 'vs/base/common/strings';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
@@ -1085,7 +1085,7 @@ export class SearchView extends Viewlet implements IViewlet, IPanel {
let folderPath: string; let folderPath: string;
if (this.contextService.getWorkbenchState() === WorkbenchState.FOLDER) { if (this.contextService.getWorkbenchState() === WorkbenchState.FOLDER) {
// Show relative path from the root for single-root mode // Show relative path from the root for single-root mode
folderPath = paths.normalize(pathToRelative(workspace.folders[0].uri.fsPath, resource.fsPath)); folderPath = extpath.normalize(pathToRelative(workspace.folders[0].uri.fsPath, resource.fsPath));
if (folderPath && folderPath !== '.') { if (folderPath && folderPath !== '.') {
folderPath = './' + folderPath; folderPath = './' + folderPath;
} }
@@ -1097,7 +1097,7 @@ export class SearchView extends Viewlet implements IViewlet, IPanel {
// If this root is the only one with its basename, use a relative ./ path. If there is another, use an absolute path // If this root is the only one with its basename, use a relative ./ path. If there is another, use an absolute path
const isUniqueFolder = workspace.folders.filter(folder => folder.name === owningRootName).length === 1; const isUniqueFolder = workspace.folders.filter(folder => folder.name === owningRootName).length === 1;
if (isUniqueFolder) { if (isUniqueFolder) {
const relativePath = paths.normalize(pathToRelative(owningFolder.uri.fsPath, resource.fsPath)); const relativePath = extpath.normalize(pathToRelative(owningFolder.uri.fsPath, resource.fsPath));
if (relativePath === '.') { if (relativePath === '.') {
folderPath = `./${owningFolder.name}`; folderPath = `./${owningFolder.name}`;
} else { } else {

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import * as assert from 'assert'; import * as assert from 'assert';
import { IExpression } from 'vs/base/common/glob'; import { IExpression } from 'vs/base/common/glob';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import { URI as uri } from 'vs/base/common/uri'; import { URI as uri } from 'vs/base/common/uri';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { TestConfigurationService } from 'vs/platform/configuration/test/common/testConfigurationService'; import { TestConfigurationService } from 'vs/platform/configuration/test/common/testConfigurationService';
@@ -908,7 +908,7 @@ function fixPath(...slashPathParts: string[]): string {
slashPathParts.unshift('c:'); slashPathParts.unshift('c:');
} }
return paths.join(...slashPathParts); return extpath.join(...slashPathParts);
} }
function normalizeExpression(expression: IExpression | undefined): IExpression | undefined { function normalizeExpression(expression: IExpression | undefined): IExpression | undefined {

View File

@@ -8,7 +8,7 @@ import { CommandsRegistry } from 'vs/platform/commands/common/commands';
import { IEnvironmentService } from 'vs/platform/environment/common/environment'; import { IEnvironmentService } from 'vs/platform/environment/common/environment';
import { IModeService } from 'vs/editor/common/services/modeService'; import { IModeService } from 'vs/editor/common/services/modeService';
import { IWindowService } from 'vs/platform/windows/common/windows'; import { IWindowService } from 'vs/platform/windows/common/windows';
import { join } from 'vs/base/common/paths'; import { join } from 'vs/base/common/extpath';
import { basename, dirname, extname } from 'vs/base/common/paths.node'; import { basename, dirname, extname } from 'vs/base/common/paths.node';
import { MenuRegistry, MenuId } from 'vs/platform/actions/common/actions'; import { MenuRegistry, MenuId } from 'vs/platform/actions/common/actions';
import { timeout } from 'vs/base/common/async'; import { timeout } from 'vs/base/common/async';

View File

@@ -3,7 +3,7 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import { join } from 'vs/base/common/paths'; import { join } from 'vs/base/common/extpath';
import { IJSONSchema } from 'vs/base/common/jsonSchema'; import { IJSONSchema } from 'vs/base/common/jsonSchema';
import { combinedDisposable, dispose, IDisposable } from 'vs/base/common/lifecycle'; import { combinedDisposable, dispose, IDisposable } from 'vs/base/common/lifecycle';
import { values } from 'vs/base/common/map'; import { values } from 'vs/base/common/map';

View File

@@ -20,7 +20,7 @@ import { IPartService, Parts, Position } from 'vs/workbench/services/part/common
import { IEnvironmentService } from 'vs/platform/environment/common/environment'; import { IEnvironmentService } from 'vs/platform/environment/common/environment';
import { IFileService } from 'vs/platform/files/common/files'; import { IFileService } from 'vs/platform/files/common/files';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { join } from 'vs/base/common/paths'; import { join } from 'vs/base/common/extpath';
class PartsSplash { class PartsSplash {

View File

@@ -8,7 +8,7 @@ import { localize } from 'vs/nls';
import * as Objects from 'vs/base/common/objects'; import * as Objects from 'vs/base/common/objects';
import * as Strings from 'vs/base/common/strings'; import * as Strings from 'vs/base/common/strings';
import * as Assert from 'vs/base/common/assert'; import * as Assert from 'vs/base/common/assert';
import * as Paths from 'vs/base/common/paths'; import * as Extpath from 'vs/base/common/extpath';
import * as Types from 'vs/base/common/types'; import * as Types from 'vs/base/common/types';
import * as UUID from 'vs/base/common/uuid'; import * as UUID from 'vs/base/common/uuid';
import * as Platform from 'vs/base/common/platform'; import * as Platform from 'vs/base/common/platform';
@@ -188,7 +188,7 @@ export function getResource(filename: string, matcher: ProblemMatcher): URI {
if (kind === FileLocationKind.Absolute) { if (kind === FileLocationKind.Absolute) {
fullPath = filename; fullPath = filename;
} else if ((kind === FileLocationKind.Relative) && matcher.filePrefix) { } else if ((kind === FileLocationKind.Relative) && matcher.filePrefix) {
fullPath = Paths.join(matcher.filePrefix, filename); fullPath = Extpath.join(matcher.filePrefix, filename);
} }
if (fullPath === undefined) { if (fullPath === undefined) {
throw new Error('FileLocationKind is not actionable. Does the matcher have a filePrefix? This should never happen.'); throw new Error('FileLocationKind is not actionable. Does the matcher have a filePrefix? This should never happen.');

View File

@@ -15,7 +15,7 @@ import { LinkedMap, Touch } from 'vs/base/common/map';
import Severity from 'vs/base/common/severity'; import Severity from 'vs/base/common/severity';
import { Event, Emitter } from 'vs/base/common/event'; import { Event, Emitter } from 'vs/base/common/event';
import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import { IDisposable, dispose } from 'vs/base/common/lifecycle';
import * as TPath from 'vs/base/common/paths'; import { isUNC } from 'vs/base/common/extpath';
import { win32 } from 'vs/base/node/processes'; import { win32 } from 'vs/base/node/processes';
@@ -735,7 +735,7 @@ export class TerminalTaskSystem implements ITaskSystem {
} }
windowsShellArgs = true; windowsShellArgs = true;
let basename = path.basename(shellLaunchConfig.executable!).toLowerCase(); let basename = path.basename(shellLaunchConfig.executable!).toLowerCase();
if (basename === 'cmd.exe' && ((options.cwd && TPath.isUNC(options.cwd)) || (!options.cwd && TPath.isUNC(process.cwd())))) { if (basename === 'cmd.exe' && ((options.cwd && isUNC(options.cwd)) || (!options.cwd && isUNC(process.cwd())))) {
return undefined; return undefined;
} }
if ((basename === 'powershell.exe') || (basename === 'pwsh.exe')) { if ((basename === 'powershell.exe') || (basename === 'pwsh.exe')) {

View File

@@ -5,7 +5,7 @@
import * as Collections from 'vs/base/common/collections'; import * as Collections from 'vs/base/common/collections';
import * as Objects from 'vs/base/common/objects'; import * as Objects from 'vs/base/common/objects';
import * as Paths from 'vs/base/common/paths'; import * as Extpath from 'vs/base/common/extpath';
import { CommandOptions, ErrorData, Source } from 'vs/base/common/processes'; import { CommandOptions, ErrorData, Source } from 'vs/base/common/processes';
import * as Strings from 'vs/base/common/strings'; import * as Strings from 'vs/base/common/strings';
import { LineData, LineProcess } from 'vs/base/node/processes'; import { LineData, LineProcess } from 'vs/base/node/processes';
@@ -156,7 +156,7 @@ export class ProcessRunnerDetector {
this._workspaceRoot = workspaceFolder; this._workspaceRoot = workspaceFolder;
this._stderr = []; this._stderr = [];
this._stdout = []; this._stdout = [];
this._cwd = this.contextService.getWorkbenchState() !== WorkbenchState.EMPTY ? Paths.normalize(this._workspaceRoot.uri.fsPath, true) : ''; this._cwd = this.contextService.getWorkbenchState() !== WorkbenchState.EMPTY ? Extpath.normalize(this._workspaceRoot.uri.fsPath, true) : '';
} }
public get stderr(): string[] { public get stderr(): string[] {

View File

@@ -5,7 +5,7 @@
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { createHash } from 'crypto'; import { createHash } from 'crypto';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import * as resources from 'vs/base/common/resources'; import * as resources from 'vs/base/common/resources';
import { Event, Emitter } from 'vs/base/common/event'; import { Event, Emitter } from 'vs/base/common/event';
import * as pfs from 'vs/base/node/pfs'; import * as pfs from 'vs/base/node/pfs';
@@ -308,8 +308,8 @@ class CachedWorkspaceConfiguration extends Disposable implements IWorkspaceConfi
} }
private createPaths(workspaceIdentifier: IWorkspaceIdentifier) { private createPaths(workspaceIdentifier: IWorkspaceIdentifier) {
this.cachedWorkspacePath = paths.join(this.environmentService.userDataPath, 'CachedConfigurations', 'workspaces', workspaceIdentifier.id); this.cachedWorkspacePath = extpath.join(this.environmentService.userDataPath, 'CachedConfigurations', 'workspaces', workspaceIdentifier.id);
this.cachedConfigurationPath = paths.join(this.cachedWorkspacePath, 'workspace.json'); this.cachedConfigurationPath = extpath.join(this.cachedWorkspacePath, 'workspace.json');
} }
} }
@@ -531,12 +531,12 @@ export class FileServiceBasedFolderConfiguration extends AbstractFolderConfigura
private toFolderRelativePath(resource: URI): string | null { private toFolderRelativePath(resource: URI): string | null {
if (resource.scheme === Schemas.file) { if (resource.scheme === Schemas.file) {
if (paths.isEqualOrParent(resource.fsPath, this.folderConfigurationPath.fsPath, !isLinux /* ignorecase */)) { if (extpath.isEqualOrParent(resource.fsPath, this.folderConfigurationPath.fsPath, !isLinux /* ignorecase */)) {
return paths.normalize(relative(this.folderConfigurationPath.fsPath, resource.fsPath)); return extpath.normalize(relative(this.folderConfigurationPath.fsPath, resource.fsPath));
} }
} else { } else {
if (resources.isEqualOrParent(resource, this.folderConfigurationPath)) { if (resources.isEqualOrParent(resource, this.folderConfigurationPath)) {
return paths.normalize(relative(this.folderConfigurationPath.path, resource.path)); return extpath.normalize(relative(this.folderConfigurationPath.path, resource.path));
} }
} }
return null; return null;
@@ -559,8 +559,8 @@ export class CachedFolderConfiguration extends Disposable implements IFolderConf
configFolderRelativePath: string, configFolderRelativePath: string,
environmentService: IEnvironmentService) { environmentService: IEnvironmentService) {
super(); super();
this.cachedFolderPath = paths.join(environmentService.userDataPath, 'CachedConfigurations', 'folders', createHash('md5').update(paths.join(folder.path, configFolderRelativePath)).digest('hex')); this.cachedFolderPath = extpath.join(environmentService.userDataPath, 'CachedConfigurations', 'folders', createHash('md5').update(extpath.join(folder.path, configFolderRelativePath)).digest('hex'));
this.cachedConfigurationPath = paths.join(this.cachedFolderPath, 'configuration.json'); this.cachedConfigurationPath = extpath.join(this.cachedFolderPath, 'configuration.json');
this.configurationModel = new ConfigurationModel(); this.configurationModel = new ConfigurationModel();
} }

View File

@@ -3,7 +3,7 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import * as assert from 'assert'; import * as assert from 'assert';
import { join } from 'vs/base/common/paths'; import { join } from 'vs/base/common/extpath';
import { Registry } from 'vs/platform/registry/common/platform'; import { Registry } from 'vs/platform/registry/common/platform';
import { FolderSettingsModelParser, WorkspaceConfigurationChangeEvent, StandaloneConfigurationModelParser, AllKeysConfigurationChangeEvent, Configuration } from 'vs/workbench/services/configuration/common/configurationModels'; import { FolderSettingsModelParser, WorkspaceConfigurationChangeEvent, StandaloneConfigurationModelParser, AllKeysConfigurationChangeEvent, Configuration } from 'vs/workbench/services/configuration/common/configurationModels';
import { Workspace, WorkspaceFolder } from 'vs/platform/workspace/common/workspace'; import { Workspace, WorkspaceFolder } from 'vs/platform/workspace/common/workspace';

View File

@@ -5,7 +5,7 @@
import { URI as uri } from 'vs/base/common/uri'; import { URI as uri } from 'vs/base/common/uri';
import * as nls from 'vs/nls'; import * as nls from 'vs/nls';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import * as platform from 'vs/base/common/platform'; import * as platform from 'vs/base/common/platform';
import * as Types from 'vs/base/common/types'; import * as Types from 'vs/base/common/types';
import { Schemas } from 'vs/base/common/network'; import { Schemas } from 'vs/base/common/network';
@@ -58,7 +58,7 @@ export class ConfigurationResolverService extends AbstractVariableResolverServic
if (!fileResource) { if (!fileResource) {
return undefined; return undefined;
} }
return paths.normalize(fileResource.fsPath, true); return extpath.normalize(fileResource.fsPath, true);
}, },
getSelectedText: (): string | undefined => { getSelectedText: (): string | undefined => {
const activeTextEditorWidget = editorService.activeTextEditorWidget; const activeTextEditorWidget = editorService.activeTextEditorWidget;

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import * as assert from 'assert'; import * as assert from 'assert';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import { IEditorModel } from 'vs/platform/editor/common/editor'; import { IEditorModel } from 'vs/platform/editor/common/editor';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor'; import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor';
@@ -604,5 +604,5 @@ function toResource(path: string) {
} }
function toFileResource(self: any, path: string) { function toFileResource(self: any, path: string) {
return URI.file(paths.join('C:\\', Buffer.from(self.test.fullTitle()).toString('base64'), path)); return URI.file(extpath.join('C:\\', Buffer.from(self.test.fullTitle()).toString('base64'), path));
} }

View File

@@ -10,7 +10,7 @@ import * as crypto from 'crypto';
import * as assert from 'assert'; import * as assert from 'assert';
import { isParent, FileOperation, FileOperationEvent, IContent, IFileService, IResolveFileOptions, IResolveFileResult, IResolveContentOptions, IFileStat, IStreamContent, FileOperationError, FileOperationResult, IUpdateContentOptions, FileChangeType, FileChangesEvent, ICreateFileOptions, IContentData, ITextSnapshot, IFilesConfiguration, IFileSystemProviderRegistrationEvent, IFileSystemProvider } from 'vs/platform/files/common/files'; import { isParent, FileOperation, FileOperationEvent, IContent, IFileService, IResolveFileOptions, IResolveFileResult, IResolveContentOptions, IFileStat, IStreamContent, FileOperationError, FileOperationResult, IUpdateContentOptions, FileChangeType, FileChangesEvent, ICreateFileOptions, IContentData, ITextSnapshot, IFilesConfiguration, IFileSystemProviderRegistrationEvent, IFileSystemProvider } from 'vs/platform/files/common/files';
import { MAX_FILE_SIZE, MAX_HEAP_SIZE } from 'vs/platform/files/node/files'; import { MAX_FILE_SIZE, MAX_HEAP_SIZE } from 'vs/platform/files/node/files';
import { isEqualOrParent } from 'vs/base/common/paths'; import { isEqualOrParent } from 'vs/base/common/extpath';
import { ResourceMap } from 'vs/base/common/map'; import { ResourceMap } from 'vs/base/common/map';
import * as arrays from 'vs/base/common/arrays'; import * as arrays from 'vs/base/common/arrays';
import * as objects from 'vs/base/common/objects'; import * as objects from 'vs/base/common/objects';

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import * as glob from 'vs/base/common/glob'; import * as glob from 'vs/base/common/glob';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import * as path from 'vs/base/common/paths.node'; import * as path from 'vs/base/common/paths.node';
import * as platform from 'vs/base/common/platform'; import * as platform from 'vs/base/common/platform';
import * as watcher from 'vs/workbench/services/files/node/watcher/common'; import * as watcher from 'vs/workbench/services/files/node/watcher/common';
@@ -233,7 +233,7 @@ export class NsfwWatcherService implements IWatcherService {
*/ */
protected _normalizeRoots(roots: IWatcherRequest[]): IWatcherRequest[] { protected _normalizeRoots(roots: IWatcherRequest[]): IWatcherRequest[] {
return roots.filter(r => roots.every(other => { return roots.filter(r => roots.every(other => {
return !(r.basePath.length > other.basePath.length && paths.isEqualOrParent(r.basePath, other.basePath)); return !(r.basePath.length > other.basePath.length && extpath.isEqualOrParent(r.basePath, other.basePath));
})); }));
} }

View File

@@ -7,7 +7,7 @@ import * as chokidar from 'vscode-chokidar';
import * as fs from 'fs'; import * as fs from 'fs';
import * as gracefulFs from 'graceful-fs'; import * as gracefulFs from 'graceful-fs';
gracefulFs.gracefulify(fs); gracefulFs.gracefulify(fs);
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import * as glob from 'vs/base/common/glob'; import * as glob from 'vs/base/common/glob';
import { FileChangeType } from 'vs/platform/files/common/files'; import { FileChangeType } from 'vs/platform/files/common/files';
import { ThrottledDelayer } from 'vs/base/common/async'; import { ThrottledDelayer } from 'vs/base/common/async';
@@ -284,7 +284,7 @@ function isIgnored(path: string, requests: ExtendedWatcherRequest[]): boolean {
if (request.basePath === path) { if (request.basePath === path) {
return false; return false;
} }
if (paths.isEqualOrParent(path, request.basePath)) { if (extpath.isEqualOrParent(path, request.basePath)) {
if (!request.parsedPattern) { if (!request.parsedPattern) {
if (request.ignored && request.ignored.length > 0) { if (request.ignored && request.ignored.length > 0) {
let pattern = `{${request.ignored.join(',')}}`; let pattern = `{${request.ignored.join(',')}}`;
@@ -313,7 +313,7 @@ export function normalizeRoots(requests: IWatcherRequest[]): { [basePath: string
for (let request of requests) { for (let request of requests) {
let basePath = request.basePath; let basePath = request.basePath;
let ignored = (request.ignored || []).sort(); let ignored = (request.ignored || []).sort();
if (prevRequest && (paths.isEqualOrParent(basePath, prevRequest.basePath))) { if (prevRequest && (extpath.isEqualOrParent(basePath, prevRequest.basePath))) {
if (!isEqualIgnore(ignored, prevRequest.ignored)) { if (!isEqualIgnore(ignored, prevRequest.ignored)) {
result[prevRequest.basePath].push({ basePath, ignored }); result[prevRequest.basePath].push({ basePath, ignored });
} }

View File

@@ -5,7 +5,7 @@
import { IStringDictionary } from 'vs/base/common/collections'; import { IStringDictionary } from 'vs/base/common/collections';
import { Event } from 'vs/base/common/event'; import { Event } from 'vs/base/common/event';
import { join } from 'vs/base/common/paths'; import { join } from 'vs/base/common/extpath';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { IRange } from 'vs/editor/common/core/range'; import { IRange } from 'vs/editor/common/core/range';
import { ITextModel } from 'vs/editor/common/model'; import { ITextModel } from 'vs/editor/common/model';

View File

@@ -9,7 +9,7 @@ import { Event } from 'vs/base/common/event';
import * as glob from 'vs/base/common/glob'; import * as glob from 'vs/base/common/glob';
import { IDisposable } from 'vs/base/common/lifecycle'; import { IDisposable } from 'vs/base/common/lifecycle';
import * as objects from 'vs/base/common/objects'; import * as objects from 'vs/base/common/objects';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import { getNLines } from 'vs/base/common/strings'; import { getNLines } from 'vs/base/common/strings';
import { URI, UriComponents } from 'vs/base/common/uri'; import { URI, UriComponents } from 'vs/base/common/uri';
import { IFilesConfiguration } from 'vs/platform/files/common/files'; import { IFilesConfiguration } from 'vs/platform/files/common/files';
@@ -371,7 +371,7 @@ export function pathIncludedInQuery(queryProps: ICommonQueryProps<URI>, fsPath:
if (queryProps.usingSearchPaths) { if (queryProps.usingSearchPaths) {
return !!queryProps.folderQueries && queryProps.folderQueries.every(fq => { return !!queryProps.folderQueries && queryProps.folderQueries.every(fq => {
const searchPath = fq.folder.fsPath; const searchPath = fq.folder.fsPath;
if (paths.isEqualOrParent(fsPath, searchPath)) { if (extpath.isEqualOrParent(fsPath, searchPath)) {
return !fq.includePattern || !!glob.match(fq.includePattern, fsPath); return !fq.includePattern || !!glob.match(fq.includePattern, fsPath);
} else { } else {
return false; return false;

View File

@@ -13,7 +13,7 @@ import { toErrorMessage } from 'vs/base/common/errorMessage';
import * as glob from 'vs/base/common/glob'; import * as glob from 'vs/base/common/glob';
import * as normalization from 'vs/base/common/normalization'; import * as normalization from 'vs/base/common/normalization';
import * as objects from 'vs/base/common/objects'; import * as objects from 'vs/base/common/objects';
import { isEqualOrParent } from 'vs/base/common/paths'; import { isEqualOrParent } from 'vs/base/common/extpath';
import * as platform from 'vs/base/common/platform'; import * as platform from 'vs/base/common/platform';
import { StopWatch } from 'vs/base/common/stopwatch'; import { StopWatch } from 'vs/base/common/stopwatch';
import * as strings from 'vs/base/common/strings'; import * as strings from 'vs/base/common/strings';

View File

@@ -8,7 +8,7 @@ import * as path from 'vs/base/common/paths.node';
import * as glob from 'vs/base/common/glob'; import * as glob from 'vs/base/common/glob';
import { normalizeNFD } from 'vs/base/common/normalization'; import { normalizeNFD } from 'vs/base/common/normalization';
import * as objects from 'vs/base/common/objects'; import * as objects from 'vs/base/common/objects';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import { isMacintosh as isMac } from 'vs/base/common/platform'; import { isMacintosh as isMac } from 'vs/base/common/platform';
import * as strings from 'vs/base/common/strings'; import * as strings from 'vs/base/common/strings';
import { IFileQuery, IFolderQuery } from 'vs/workbench/services/search/common/search'; import { IFileQuery, IFolderQuery } from 'vs/workbench/services/search/common/search';
@@ -170,7 +170,7 @@ function trimTrailingSlash(str: string): string {
} }
export function fixDriveC(path: string): string { export function fixDriveC(path: string): string {
const root = paths.getRoot(path); const root = extpath.getRoot(path);
return root.toLowerCase() === 'c:/' ? return root.toLowerCase() === 'c:/' ?
path.replace(/^c:[/\\]/i, '/') : path.replace(/^c:[/\\]/i, '/') :
path; path;

View File

@@ -6,7 +6,7 @@
import * as assert from 'assert'; import * as assert from 'assert';
import * as path from 'vs/base/common/paths.node'; import * as path from 'vs/base/common/paths.node';
import { getPathFromAmdModule } from 'vs/base/common/amd'; import { getPathFromAmdModule } from 'vs/base/common/amd';
import { join, normalize } from 'vs/base/common/paths'; import { join, normalize } from 'vs/base/common/extpath';
import * as platform from 'vs/base/common/platform'; import * as platform from 'vs/base/common/platform';
import { joinPath } from 'vs/base/common/resources'; import { joinPath } from 'vs/base/common/resources';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';

View File

@@ -3,7 +3,7 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import * as path from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import * as nls from 'vs/nls'; import * as nls from 'vs/nls';
import { Event, Emitter } from 'vs/base/common/event'; import { Event, Emitter } from 'vs/base/common/event';
import { guessMimeTypes } from 'vs/base/common/mime'; import { guessMimeTypes } from 'vs/base/common/mime';
@@ -784,12 +784,12 @@ export class TextFileEditorModel extends BaseTextEditorModel implements ITextFil
} }
// Check for locale file // Check for locale file
if (isEqual(this.resource, URI.file(path.join(this.environmentService.appSettingsHome, 'locale.json')), !isLinux)) { if (isEqual(this.resource, URI.file(extpath.join(this.environmentService.appSettingsHome, 'locale.json')), !isLinux)) {
return 'locale'; return 'locale';
} }
// Check for snippets // Check for snippets
if (isEqualOrParent(this.resource, URI.file(path.join(this.environmentService.appSettingsHome, 'snippets')))) { if (isEqualOrParent(this.resource, URI.file(extpath.join(this.environmentService.appSettingsHome, 'snippets')))) {
return 'snippets'; return 'snippets';
} }

View File

@@ -5,7 +5,7 @@
import * as nls from 'vs/nls'; import * as nls from 'vs/nls';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import * as errors from 'vs/base/common/errors'; import * as errors from 'vs/base/common/errors';
import * as objects from 'vs/base/common/objects'; import * as objects from 'vs/base/common/objects';
import { Event, Emitter } from 'vs/base/common/event'; import { Event, Emitter } from 'vs/base/common/event';
@@ -908,7 +908,7 @@ export class TextFileService extends Disposable implements ITextFileService {
// Otherwise a parent folder of the source is being moved, so we need // Otherwise a parent folder of the source is being moved, so we need
// to compute the target resource based on that // to compute the target resource based on that
else { else {
targetModelResource = sourceModelResource.with({ path: paths.join(target.path, sourceModelResource.path.substr(source.path.length + 1)) }); targetModelResource = sourceModelResource.with({ path: extpath.join(target.path, sourceModelResource.path.substr(source.path.length + 1)) });
} }
// Remember as dirty target model to load after the operation // Remember as dirty target model to load after the operation

View File

@@ -7,7 +7,7 @@ import * as assert from 'assert';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { TextFileEditorModelManager } from 'vs/workbench/services/textfile/common/textFileEditorModelManager'; import { TextFileEditorModelManager } from 'vs/workbench/services/textfile/common/textFileEditorModelManager';
import { join } from 'vs/base/common/paths'; import { join } from 'vs/base/common/extpath';
import { workbenchInstantiationService, TestFileService } from 'vs/workbench/test/workbenchTestServices'; import { workbenchInstantiationService, TestFileService } from 'vs/workbench/test/workbenchTestServices';
import { TextFileEditorModel } from 'vs/workbench/services/textfile/common/textFileEditorModel'; import { TextFileEditorModel } from 'vs/workbench/services/textfile/common/textFileEditorModel';
import { IFileService, FileChangesEvent, FileChangeType } from 'vs/platform/files/common/files'; import { IFileService, FileChangesEvent, FileChangeType } from 'vs/platform/files/common/files';

View File

@@ -3,7 +3,7 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import * as Paths from 'vs/base/common/paths'; import * as Extpath from 'vs/base/common/extpath';
import { basename } from 'vs/base/common/paths.node'; import { basename } from 'vs/base/common/paths.node';
import * as Json from 'vs/base/common/json'; import * as Json from 'vs/base/common/json';
import { Color } from 'vs/base/common/color'; import { Color } from 'vs/base/common/color';
@@ -259,7 +259,7 @@ export class ColorThemeData implements IColorTheme {
static fromExtensionTheme(theme: IThemeExtensionPoint, colorThemeLocation: URI, extensionData: ExtensionData): ColorThemeData { static fromExtensionTheme(theme: IThemeExtensionPoint, colorThemeLocation: URI, extensionData: ExtensionData): ColorThemeData {
let baseTheme: string = theme['uiTheme'] || 'vs-dark'; let baseTheme: string = theme['uiTheme'] || 'vs-dark';
let themeSelector = toCSSSelector(extensionData.extensionId + '-' + Paths.normalize(theme.path)); let themeSelector = toCSSSelector(extensionData.extensionId + '-' + Extpath.normalize(theme.path));
let themeData = new ColorThemeData(); let themeData = new ColorThemeData();
themeData.id = `${baseTheme} ${themeSelector}`; themeData.id = `${baseTheme} ${themeSelector}`;
themeData.label = theme.label || basename(theme.path); themeData.label = theme.label || basename(theme.path);

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import * as assert from 'assert'; import * as assert from 'assert';
import { join } from 'vs/base/common/paths'; import { join } from 'vs/base/common/extpath';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { IUntitledEditorService, UntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService'; import { IUntitledEditorService, UntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration';

View File

@@ -8,7 +8,7 @@ import { URI } from 'vs/base/common/uri';
import { basename } from 'vs/base/common/paths.node'; import { basename } from 'vs/base/common/paths.node';
import { ExtHostWorkspaceProvider } from 'vs/workbench/api/node/extHostWorkspace'; import { ExtHostWorkspaceProvider } from 'vs/workbench/api/node/extHostWorkspace';
import { TestRPCProtocol } from './testRPCProtocol'; import { TestRPCProtocol } from './testRPCProtocol';
import { normalize } from 'vs/base/common/paths'; import { normalize } from 'vs/base/common/extpath';
import { IWorkspaceFolderData } from 'vs/platform/workspace/common/workspace'; import { IWorkspaceFolderData } from 'vs/platform/workspace/common/workspace';
import { IExtensionDescription } from 'vs/workbench/services/extensions/common/extensions'; import { IExtensionDescription } from 'vs/workbench/services/extensions/common/extensions';
import { NullLogService } from 'vs/platform/log/common/log'; import { NullLogService } from 'vs/platform/log/common/log';

View File

@@ -6,7 +6,7 @@
import 'vs/workbench/contrib/files/electron-browser/files.contribution'; // load our contribution into the test import 'vs/workbench/contrib/files/electron-browser/files.contribution'; // load our contribution into the test
import { FileEditorInput } from 'vs/workbench/contrib/files/common/editors/fileEditorInput'; import { FileEditorInput } from 'vs/workbench/contrib/files/common/editors/fileEditorInput';
import { TestInstantiationService } from 'vs/platform/instantiation/test/common/instantiationServiceMock'; import { TestInstantiationService } from 'vs/platform/instantiation/test/common/instantiationServiceMock';
import * as paths from 'vs/base/common/paths'; import * as extpath from 'vs/base/common/extpath';
import * as resources from 'vs/base/common/resources'; import * as resources from 'vs/base/common/resources';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
@@ -163,7 +163,7 @@ export class TestContextService implements IWorkspaceContextService {
} }
public toResource(workspaceRelativePath: string): URI { public toResource(workspaceRelativePath: string): URI {
return URI.file(paths.join('C:\\', workspaceRelativePath)); return URI.file(extpath.join('C:\\', workspaceRelativePath));
} }
public isCurrentWorkspace(workspaceIdentifier: ISingleFolderWorkspaceIdentifier | IWorkspaceIdentifier): boolean { public isCurrentWorkspace(workspaceIdentifier: ISingleFolderWorkspaceIdentifier | IWorkspaceIdentifier): boolean {
@@ -1476,5 +1476,5 @@ export class TestViewletService implements IViewletService {
} }
export function getRandomTestPath(tmpdir: string, ...segments: string[]): string { export function getRandomTestPath(tmpdir: string, ...segments: string[]): string {
return paths.join(tmpdir, ...segments, generateUuid()); return extpath.join(tmpdir, ...segments, generateUuid());
} }