未验证 提交 ccf1c4b5 编写于 作者: S Sandeep Somavarapu 提交者: GitHub

Merge branch 'master' into sandy081/web-playground/login

{ {
"name": "code-oss-dev", "name": "code-oss-dev",
"version": "1.50.0", "version": "1.50.0",
"distro": "fd69c0b76c1d86e5ea0c8651f87571091fab2c22", "distro": "74839100ca6a8d7b83f72f92b9de6937e7959849",
"author": { "author": {
"name": "Microsoft Corporation" "name": "Microsoft Corporation"
}, },
...@@ -71,10 +71,10 @@ ...@@ -71,10 +71,10 @@
"vscode-ripgrep": "^1.9.0", "vscode-ripgrep": "^1.9.0",
"vscode-sqlite3": "4.0.10", "vscode-sqlite3": "4.0.10",
"vscode-textmate": "5.2.0", "vscode-textmate": "5.2.0",
"xterm": "4.9.0-beta.32", "xterm": "4.10.0-beta.4",
"xterm-addon-search": "0.7.0", "xterm-addon-search": "0.8.0-beta.3",
"xterm-addon-unicode11": "0.2.0", "xterm-addon-unicode11": "0.3.0-beta.3",
"xterm-addon-webgl": "0.9.0-beta.4", "xterm-addon-webgl": "0.10.0-beta.1",
"yauzl": "^2.9.2", "yauzl": "^2.9.2",
"yazl": "^2.4.3" "yazl": "^2.4.3"
}, },
...@@ -193,4 +193,4 @@ ...@@ -193,4 +193,4 @@
"windows-mutex": "0.3.0", "windows-mutex": "0.3.0",
"windows-process-tree": "0.2.4" "windows-process-tree": "0.2.4"
} }
} }
\ No newline at end of file
...@@ -91,7 +91,7 @@ ...@@ -91,7 +91,7 @@
}, },
{ {
"name": "ms-vscode.js-debug", "name": "ms-vscode.js-debug",
"version": "1.49.7", "version": "1.49.8",
"repo": "https://github.com/Microsoft/vscode-js-debug", "repo": "https://github.com/Microsoft/vscode-js-debug",
"metadata": { "metadata": {
"id": "25629058-ddac-4e17-abba-74678e126c5d", "id": "25629058-ddac-4e17-abba-74678e126c5d",
......
...@@ -20,10 +20,10 @@ ...@@ -20,10 +20,10 @@
"vscode-proxy-agent": "^0.5.2", "vscode-proxy-agent": "^0.5.2",
"vscode-ripgrep": "^1.9.0", "vscode-ripgrep": "^1.9.0",
"vscode-textmate": "5.2.0", "vscode-textmate": "5.2.0",
"xterm": "4.9.0-beta.32", "xterm": "4.10.0-beta.4",
"xterm-addon-search": "0.7.0", "xterm-addon-search": "0.8.0-beta.3",
"xterm-addon-unicode11": "0.2.0", "xterm-addon-unicode11": "0.3.0-beta.3",
"xterm-addon-webgl": "0.9.0-beta.4", "xterm-addon-webgl": "0.10.0-beta.1",
"yauzl": "^2.9.2", "yauzl": "^2.9.2",
"yazl": "^2.4.3" "yazl": "^2.4.3"
}, },
......
...@@ -7,9 +7,9 @@ ...@@ -7,9 +7,9 @@
"semver-umd": "^5.5.7", "semver-umd": "^5.5.7",
"vscode-oniguruma": "1.3.1", "vscode-oniguruma": "1.3.1",
"vscode-textmate": "5.2.0", "vscode-textmate": "5.2.0",
"xterm": "4.9.0-beta.32", "xterm": "4.10.0-beta.4",
"xterm-addon-search": "0.7.0", "xterm-addon-search": "0.8.0-beta.3",
"xterm-addon-unicode11": "0.2.0", "xterm-addon-unicode11": "0.3.0-beta.3",
"xterm-addon-webgl": "0.9.0-beta.4" "xterm-addon-webgl": "0.10.0-beta.1"
} }
} }
...@@ -27,22 +27,22 @@ vscode-textmate@5.2.0: ...@@ -27,22 +27,22 @@ vscode-textmate@5.2.0:
resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-5.2.0.tgz#01f01760a391e8222fe4f33fbccbd1ad71aed74e" resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-5.2.0.tgz#01f01760a391e8222fe4f33fbccbd1ad71aed74e"
integrity sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ== integrity sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==
xterm-addon-search@0.7.0: xterm-addon-search@0.8.0-beta.3:
version "0.7.0" version "0.8.0-beta.3"
resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.7.0.tgz#c929d3e5cbb335e82bff72f158ea82936d9cd4ef" resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.8.0-beta.3.tgz#c6c7e36a03706bd43d8bba383511acf9e435aed0"
integrity sha512-6060evmJJ+tZcjnx33FXaeEHLpuXEa7l9UzUsYfMlCKbu88AbE+5LJocTKCHYd71cwCwb9pjmv/G1o9Rf9Zbcg== integrity sha512-EZP97KJIJ4KGQaOPYiiOaRRJst6LOgeEFoQL46WcBl5EWH9pH8qfrv0BHAJ8+6nBV2B9u5M6rzxO1GvLLec19w==
xterm-addon-unicode11@0.2.0: xterm-addon-unicode11@0.3.0-beta.3:
version "0.2.0" version "0.3.0-beta.3"
resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.2.0.tgz#9ed0c482b353908bba27778893ca80823382737c" resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.3.0-beta.3.tgz#70af2dfb67809258edb62c19e2861f7ce5ccf5cd"
integrity sha512-rjFDItPc/IDoSiEnoDFwKroNwLD/7t9vYKENjrcKVZg5tgJuuUj8D4rZtP6iVCjSB1LTLYmUs4L/EmCqIyLR/Q== integrity sha512-vaYopnOjn19wCLDCyIWPWLwKR7CvLPxB5YZ3CAxt9qL05o3symxIJJJC0DuCa4GaGKVjNc7EmjRCs5bsJ2O1tw==
xterm-addon-webgl@0.9.0-beta.4: xterm-addon-webgl@0.10.0-beta.1:
version "0.9.0-beta.4" version "0.10.0-beta.1"
resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.9.0-beta.4.tgz#5f5fde50db5c06b116471bcf56ad9930884b36fa" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.10.0-beta.1.tgz#e0bf964945a9aa8fc18318ddbd32e56ec99c219e"
integrity sha512-GuCvF7Eg1nKLX6zUbJLkt5cqeeccUjf/G6fugCfrkR0EWWC6Ik5mEsEOs5UWm9vvY2kX9t16BdCrgqp8KJegEg== integrity sha512-XNZMrmiyFaz3XiPq+LqF0qn2QHpUEwuk+cG53JwpJHnWo3dd2jxoIgHFQUcrnvHIVPZMbTKySIwLCCC9uQVl7Q==
xterm@4.9.0-beta.32: xterm@4.10.0-beta.4:
version "4.9.0-beta.32" version "4.10.0-beta.4"
resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.9.0-beta.32.tgz#d1243d3be211cc06aad3418e696e4eced995c20c" resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.10.0-beta.4.tgz#95efce7a40ec582101ec9777f4ccc6e68e95185e"
integrity sha512-jloHNBnj6XRJt+oPkapvrXJZVsYq6se/PEgzErl0iZn9qzSB3jmWE4byumoEjXJR6EgU5ZOmNljeeEDA9jO/jA== integrity sha512-q/yRy2nn4mp1jWZe218TJwlKjXCIr6h28Kw0JMB+lcTeU+MebZ3TrHqlrNVnB+UJfFDOpkw0qfKYfRoV8G/hXA==
...@@ -435,25 +435,25 @@ vscode-windows-registry@1.0.2: ...@@ -435,25 +435,25 @@ vscode-windows-registry@1.0.2:
resolved "https://registry.yarnpkg.com/vscode-windows-registry/-/vscode-windows-registry-1.0.2.tgz#b863e704a6a69c50b3098a55fbddbe595b0c124a" resolved "https://registry.yarnpkg.com/vscode-windows-registry/-/vscode-windows-registry-1.0.2.tgz#b863e704a6a69c50b3098a55fbddbe595b0c124a"
integrity sha512-/CLLvuOSM2Vme2z6aNyB+4Omd7hDxpf4Thrt8ImxnXeQtxzel2bClJpFQvQqK/s4oaXlkBKS7LqVLeZM+uSVIA== integrity sha512-/CLLvuOSM2Vme2z6aNyB+4Omd7hDxpf4Thrt8ImxnXeQtxzel2bClJpFQvQqK/s4oaXlkBKS7LqVLeZM+uSVIA==
xterm-addon-search@0.7.0: xterm-addon-search@0.8.0-beta.3:
version "0.7.0" version "0.8.0-beta.3"
resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.7.0.tgz#c929d3e5cbb335e82bff72f158ea82936d9cd4ef" resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.8.0-beta.3.tgz#c6c7e36a03706bd43d8bba383511acf9e435aed0"
integrity sha512-6060evmJJ+tZcjnx33FXaeEHLpuXEa7l9UzUsYfMlCKbu88AbE+5LJocTKCHYd71cwCwb9pjmv/G1o9Rf9Zbcg== integrity sha512-EZP97KJIJ4KGQaOPYiiOaRRJst6LOgeEFoQL46WcBl5EWH9pH8qfrv0BHAJ8+6nBV2B9u5M6rzxO1GvLLec19w==
xterm-addon-unicode11@0.2.0: xterm-addon-unicode11@0.3.0-beta.3:
version "0.2.0" version "0.3.0-beta.3"
resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.2.0.tgz#9ed0c482b353908bba27778893ca80823382737c" resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.3.0-beta.3.tgz#70af2dfb67809258edb62c19e2861f7ce5ccf5cd"
integrity sha512-rjFDItPc/IDoSiEnoDFwKroNwLD/7t9vYKENjrcKVZg5tgJuuUj8D4rZtP6iVCjSB1LTLYmUs4L/EmCqIyLR/Q== integrity sha512-vaYopnOjn19wCLDCyIWPWLwKR7CvLPxB5YZ3CAxt9qL05o3symxIJJJC0DuCa4GaGKVjNc7EmjRCs5bsJ2O1tw==
xterm-addon-webgl@0.9.0-beta.4: xterm-addon-webgl@0.10.0-beta.1:
version "0.9.0-beta.4" version "0.10.0-beta.1"
resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.9.0-beta.4.tgz#5f5fde50db5c06b116471bcf56ad9930884b36fa" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.10.0-beta.1.tgz#e0bf964945a9aa8fc18318ddbd32e56ec99c219e"
integrity sha512-GuCvF7Eg1nKLX6zUbJLkt5cqeeccUjf/G6fugCfrkR0EWWC6Ik5mEsEOs5UWm9vvY2kX9t16BdCrgqp8KJegEg== integrity sha512-XNZMrmiyFaz3XiPq+LqF0qn2QHpUEwuk+cG53JwpJHnWo3dd2jxoIgHFQUcrnvHIVPZMbTKySIwLCCC9uQVl7Q==
xterm@4.9.0-beta.32: xterm@4.10.0-beta.4:
version "4.9.0-beta.32" version "4.10.0-beta.4"
resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.9.0-beta.32.tgz#d1243d3be211cc06aad3418e696e4eced995c20c" resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.10.0-beta.4.tgz#95efce7a40ec582101ec9777f4ccc6e68e95185e"
integrity sha512-jloHNBnj6XRJt+oPkapvrXJZVsYq6se/PEgzErl0iZn9qzSB3jmWE4byumoEjXJR6EgU5ZOmNljeeEDA9jO/jA== integrity sha512-q/yRy2nn4mp1jWZe218TJwlKjXCIr6h28Kw0JMB+lcTeU+MebZ3TrHqlrNVnB+UJfFDOpkw0qfKYfRoV8G/hXA==
yauzl@^2.9.2: yauzl@^2.9.2:
version "2.10.0" version "2.10.0"
......
...@@ -113,18 +113,6 @@ export function mixin(destination: any, source: any, overwrite: boolean = true): ...@@ -113,18 +113,6 @@ export function mixin(destination: any, source: any, overwrite: boolean = true):
return destination; return destination;
} }
/**
* @deprecated ES6
*/
export function assign<T>(destination: T): T;
export function assign<T, U>(destination: T, u: U): T & U;
export function assign<T, U, V>(destination: T, u: U, v: V): T & U & V;
export function assign<T, U, V, W>(destination: T, u: U, v: V, w: W): T & U & V & W;
export function assign(destination: any, ...sources: any[]): any {
sources.forEach(source => Object.keys(source).forEach(key => destination[key] = source[key]));
return destination;
}
export function equals(one: any, other: any): boolean { export function equals(one: any, other: any): boolean {
if (one === other) { if (one === other) {
return true; return true;
......
...@@ -12,7 +12,6 @@ import { IMatch } from 'vs/base/common/filters'; ...@@ -12,7 +12,6 @@ import { IMatch } from 'vs/base/common/filters';
import { matchesFuzzyCodiconAware, parseCodicons } from 'vs/base/common/codicon'; import { matchesFuzzyCodiconAware, parseCodicons } from 'vs/base/common/codicon';
import { compareAnything } from 'vs/base/common/comparers'; import { compareAnything } from 'vs/base/common/comparers';
import { Emitter, Event } from 'vs/base/common/event'; import { Emitter, Event } from 'vs/base/common/event';
import { assign } from 'vs/base/common/objects';
import { KeyCode } from 'vs/base/common/keyCodes'; import { KeyCode } from 'vs/base/common/keyCodes';
import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
import { IconLabel, IIconLabelValueOptions } from 'vs/base/browser/ui/iconLabel/iconLabel'; import { IconLabel, IIconLabelValueOptions } from 'vs/base/browser/ui/iconLabel/iconLabel';
...@@ -73,7 +72,7 @@ class ListElement implements IListElement, IDisposable { ...@@ -73,7 +72,7 @@ class ListElement implements IListElement, IDisposable {
fireButtonTriggered!: (event: IQuickPickItemButtonEvent<IQuickPickItem>) => void; fireButtonTriggered!: (event: IQuickPickItemButtonEvent<IQuickPickItem>) => void;
constructor(init: IListElement) { constructor(init: IListElement) {
assign(this, init); Object.assign(this, init);
} }
dispose() { dispose() {
......
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
import { localize } from 'vs/nls'; import { localize } from 'vs/nls';
import * as os from 'os'; import * as os from 'os';
import product from 'vs/platform/product/common/product'; import product from 'vs/platform/product/common/product';
import * as objects from 'vs/base/common/objects';
import { parseArgs, OPTIONS } from 'vs/platform/environment/node/argv'; import { parseArgs, OPTIONS } from 'vs/platform/environment/node/argv';
import { ICommonIssueService, IssueReporterData, IssueReporterFeatures, ProcessExplorerData } from 'vs/platform/issue/common/issue'; import { ICommonIssueService, IssueReporterData, IssueReporterFeatures, ProcessExplorerData } from 'vs/platform/issue/common/issue';
import { BrowserWindow, ipcMain, screen, IpcMainEvent, Display, shell } from 'electron'; import { BrowserWindow, ipcMain, screen, IpcMainEvent, Display, shell } from 'electron';
...@@ -442,7 +441,7 @@ export class IssueMainService implements ICommonIssueService { ...@@ -442,7 +441,7 @@ export class IssueMainService implements ICommonIssueService {
function toLauchUrl<T>(pathToHtml: string, windowConfiguration: T): string { function toLauchUrl<T>(pathToHtml: string, windowConfiguration: T): string {
const environment = parseArgs(process.argv, OPTIONS); const environment = parseArgs(process.argv, OPTIONS);
const config = objects.assign(environment, windowConfiguration); const config = Object.assign(environment, windowConfiguration);
for (const keyValue of Object.keys(config)) { for (const keyValue of Object.keys(config)) {
const key = keyValue as keyof typeof config; const key = keyValue as keyof typeof config;
if (config[key] === undefined || config[key] === null || config[key] === '') { if (config[key] === undefined || config[key] === null || config[key] === '') {
......
...@@ -2255,5 +2255,17 @@ declare module 'vscode' { ...@@ -2255,5 +2255,17 @@ declare module 'vscode' {
} }
//#endregion
//#region https://github.com/microsoft/vscode/issues/105667
export interface TreeView<T> {
/**
* An optional human-readable description that will be rendered in the title of the view.
* Setting the title description to null, undefined, or empty string will remove the title description from the view.
*/
description?: string | undefined;
}
//#endregion //#endregion
} }
...@@ -86,12 +86,13 @@ export class MainThreadTreeViews extends Disposable implements MainThreadTreeVie ...@@ -86,12 +86,13 @@ export class MainThreadTreeViews extends Disposable implements MainThreadTreeVie
} }
} }
$setTitle(treeViewId: string, title: string): void { $setTitle(treeViewId: string, title: string, description: string | undefined): void {
this.logService.trace('MainThreadTreeViews#$setTitle', treeViewId, title); this.logService.trace('MainThreadTreeViews#$setTitle', treeViewId, title, description);
const viewer = this.getTreeView(treeViewId); const viewer = this.getTreeView(treeViewId);
if (viewer) { if (viewer) {
viewer.title = title; viewer.title = title;
viewer.description = description;
} }
} }
......
...@@ -288,7 +288,7 @@ export interface MainThreadTreeViewsShape extends IDisposable { ...@@ -288,7 +288,7 @@ export interface MainThreadTreeViewsShape extends IDisposable {
$refresh(treeViewId: string, itemsToRefresh?: { [treeItemHandle: string]: ITreeItem; }): Promise<void>; $refresh(treeViewId: string, itemsToRefresh?: { [treeItemHandle: string]: ITreeItem; }): Promise<void>;
$reveal(treeViewId: string, treeItem: ITreeItem, parentChain: ITreeItem[], options: IRevealOptions): Promise<void>; $reveal(treeViewId: string, treeItem: ITreeItem, parentChain: ITreeItem[], options: IRevealOptions): Promise<void>;
$setMessage(treeViewId: string, message: string): void; $setMessage(treeViewId: string, message: string): void;
$setTitle(treeViewId: string, title: string): void; $setTitle(treeViewId: string, title: string, description: string | undefined): void;
} }
export interface MainThreadDownloadServiceShape extends IDisposable { export interface MainThreadDownloadServiceShape extends IDisposable {
......
...@@ -101,6 +101,14 @@ export class ExtHostTreeViews implements ExtHostTreeViewsShape { ...@@ -101,6 +101,14 @@ export class ExtHostTreeViews implements ExtHostTreeViewsShape {
set title(title: string) { set title(title: string) {
treeView.title = title; treeView.title = title;
}, },
get description() {
checkProposedApiEnabled(extension);
return treeView.description;
},
set description(description: string | undefined) {
checkProposedApiEnabled(extension);
treeView.description = description;
},
reveal: (element: T, options?: IRevealOptions): Promise<void> => { reveal: (element: T, options?: IRevealOptions): Promise<void> => {
return treeView.reveal(element, options); return treeView.reveal(element, options);
}, },
...@@ -318,7 +326,17 @@ class ExtHostTreeView<T> extends Disposable { ...@@ -318,7 +326,17 @@ class ExtHostTreeView<T> extends Disposable {
set title(title: string) { set title(title: string) {
this._title = title; this._title = title;
this.proxy.$setTitle(this.viewId, title); this.proxy.$setTitle(this.viewId, title, this._description);
}
private _description: string | undefined;
get description(): string | undefined {
return this._description;
}
set description(description: string | undefined) {
this._description = description;
this.proxy.$setTitle(this.viewId, this._title, description);
} }
setExpanded(treeItemHandle: TreeItemHandle, expanded: boolean): void { setExpanded(treeItemHandle: TreeItemHandle, expanded: boolean): void {
......
...@@ -93,7 +93,7 @@ class ExtHostWebviewView extends Disposable implements vscode.WebviewView { ...@@ -93,7 +93,7 @@ class ExtHostWebviewView extends Disposable implements vscode.WebviewView {
public get viewType(): string { return this.#viewType; } public get viewType(): string { return this.#viewType; }
/* internal */ _setVisible(visible: boolean) { /* internal */ _setVisible(visible: boolean) {
if (visible === this.#isVisible) { if (visible === this.#isVisible || this.#isDisposed) {
return; return;
} }
......
...@@ -39,6 +39,7 @@ export class TreeViewPane extends ViewPane { ...@@ -39,6 +39,7 @@ export class TreeViewPane extends ViewPane {
this.treeView = treeView; this.treeView = treeView;
this._register(this.treeView.onDidChangeActions(() => this.updateActions(), this)); this._register(this.treeView.onDidChangeActions(() => this.updateActions(), this));
this._register(this.treeView.onDidChangeTitle((newTitle) => this.updateTitle(newTitle))); this._register(this.treeView.onDidChangeTitle((newTitle) => this.updateTitle(newTitle)));
this._register(this.treeView.onDidChangeDescription((newDescription) => this.updateTitleDescription(newDescription)));
this._register(toDisposable(() => this.treeView.setVisibility(false))); this._register(toDisposable(() => this.treeView.setVisibility(false)));
this._register(this.onDidChangeBodyVisibility(() => this.updateTreeVisibility())); this._register(this.onDidChangeBodyVisibility(() => this.updateTreeVisibility()));
this._register(this.treeView.onDidChangeWelcomeState(() => this._onDidChangeViewWelcomeState.fire())); this._register(this.treeView.onDidChangeWelcomeState(() => this._onDidChangeViewWelcomeState.fire()));
......
...@@ -554,6 +554,8 @@ export interface ITreeView extends IDisposable { ...@@ -554,6 +554,8 @@ export interface ITreeView extends IDisposable {
title: string; title: string;
description: string | undefined;
readonly visible: boolean; readonly visible: boolean;
readonly onDidExpandItem: Event<ITreeItem>; readonly onDidExpandItem: Event<ITreeItem>;
...@@ -568,6 +570,8 @@ export interface ITreeView extends IDisposable { ...@@ -568,6 +570,8 @@ export interface ITreeView extends IDisposable {
readonly onDidChangeTitle: Event<string>; readonly onDidChangeTitle: Event<string>;
readonly onDidChangeDescription: Event<string | undefined>;
readonly onDidChangeWelcomeState: Event<void>; readonly onDidChangeWelcomeState: Event<void>;
refresh(treeItems?: ITreeItem[]): Promise<void>; refresh(treeItems?: ITreeItem[]): Promise<void>;
......
...@@ -10,7 +10,6 @@ import { Disposable } from 'vs/base/common/lifecycle'; ...@@ -10,7 +10,6 @@ import { Disposable } from 'vs/base/common/lifecycle';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { Range, IRange } from 'vs/editor/common/core/range'; import { Range, IRange } from 'vs/editor/common/core/range';
import { CancellationToken } from 'vs/base/common/cancellation'; import { CancellationToken } from 'vs/base/common/cancellation';
import { assign } from 'vs/base/common/objects';
import { ICommentThreadChangedEvent } from 'vs/workbench/contrib/comments/common/commentModel'; import { ICommentThreadChangedEvent } from 'vs/workbench/contrib/comments/common/commentModel';
import { MainThreadCommentController } from 'vs/workbench/api/browser/mainThreadComments'; import { MainThreadCommentController } from 'vs/workbench/api/browser/mainThreadComments';
import { CommentMenus } from 'vs/workbench/contrib/comments/browser/commentMenus'; import { CommentMenus } from 'vs/workbench/contrib/comments/browser/commentMenus';
...@@ -166,7 +165,7 @@ export class CommentService extends Disposable implements ICommentService { ...@@ -166,7 +165,7 @@ export class CommentService extends Disposable implements ICommentService {
} }
updateComments(ownerId: string, event: CommentThreadChangedEvent): void { updateComments(ownerId: string, event: CommentThreadChangedEvent): void {
const evt: ICommentThreadChangedEvent = assign({}, event, { owner: ownerId }); const evt: ICommentThreadChangedEvent = Object.assign({}, event, { owner: ownerId });
this._onDidUpdateCommentThreads.fire(evt); this._onDidUpdateCommentThreads.fire(evt);
} }
......
...@@ -22,7 +22,6 @@ import { NullTelemetryService } from 'vs/platform/telemetry/common/telemetryUtil ...@@ -22,7 +22,6 @@ import { NullTelemetryService } from 'vs/platform/telemetry/common/telemetryUtil
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';
import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle'; import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle';
import { assign } from 'vs/base/common/objects';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage'; import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
import { getGalleryExtensionId } from 'vs/platform/extensionManagement/common/extensionManagementUtil'; import { getGalleryExtensionId } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
...@@ -46,8 +45,8 @@ let experimentData: { [i: string]: any; } = { ...@@ -46,8 +45,8 @@ let experimentData: { [i: string]: any; } = {
const local = aLocalExtension('installedExtension1', { version: '1.0.0' }); const local = aLocalExtension('installedExtension1', { version: '1.0.0' });
function aLocalExtension(name: string = 'someext', manifest: any = {}, properties: any = {}): ILocalExtension { function aLocalExtension(name: string = 'someext', manifest: any = {}, properties: any = {}): ILocalExtension {
manifest = assign({ name, publisher: 'pub', version: '1.0.0' }, manifest); manifest = Object.assign({ name, publisher: 'pub', version: '1.0.0' }, manifest);
properties = assign({ properties = Object.assign({
type: ExtensionType.User, type: ExtensionType.User,
location: URI.file(`pub.${name}`), location: URI.file(`pub.${name}`),
identifier: { id: getGalleryExtensionId(manifest.publisher, manifest.name), uuid: undefined }, identifier: { id: getGalleryExtensionId(manifest.publisher, manifest.name), uuid: undefined },
......
...@@ -9,7 +9,6 @@ import * as processes from 'vs/base/node/processes'; ...@@ -9,7 +9,6 @@ import * as processes from 'vs/base/node/processes';
import * as nls from 'vs/nls'; import * as nls from 'vs/nls';
import * as pfs from 'vs/base/node/pfs'; import * as pfs from 'vs/base/node/pfs';
import * as env from 'vs/base/common/platform'; import * as env from 'vs/base/common/platform';
import { assign } from 'vs/base/common/objects';
import { IExternalTerminalService, IExternalTerminalConfiguration, IExternalTerminalSettings } from 'vs/workbench/contrib/externalTerminal/common/externalTerminal'; import { IExternalTerminalService, IExternalTerminalConfiguration, IExternalTerminalSettings } from 'vs/workbench/contrib/externalTerminal/common/externalTerminal';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { getPathFromAmdModule } from 'vs/base/common/amd'; import { getPathFromAmdModule } from 'vs/base/common/amd';
...@@ -49,7 +48,7 @@ export class WindowsExternalTerminalService implements IExternalTerminalService ...@@ -49,7 +48,7 @@ export class WindowsExternalTerminalService implements IExternalTerminalService
]; ];
// merge environment variables into a copy of the process.env // merge environment variables into a copy of the process.env
const env = assign({}, process.env, envVars); const env = Object.assign({}, process.env, envVars);
// delete environment variables that have a null value // delete environment variables that have a null value
Object.keys(env).filter(v => env[v] === null).forEach(key => delete env[key]); Object.keys(env).filter(v => env[v] === null).forEach(key => delete env[key]);
...@@ -251,7 +250,7 @@ export class LinuxExternalTerminalService implements IExternalTerminalService { ...@@ -251,7 +250,7 @@ export class LinuxExternalTerminalService implements IExternalTerminalService {
termArgs.push(`''${bashCommand}''`); // wrapping argument in two sets of ' because node is so "friendly" that it removes one set... termArgs.push(`''${bashCommand}''`); // wrapping argument in two sets of ' because node is so "friendly" that it removes one set...
// merge environment variables into a copy of the process.env // merge environment variables into a copy of the process.env
const env = assign({}, process.env, envVars); const env = Object.assign({}, process.env, envVars);
// delete environment variables that have a null value // delete environment variables that have a null value
Object.keys(env).filter(v => env[v] === null).forEach(key => delete env[key]); Object.keys(env).filter(v => env[v] === null).forEach(key => delete env[key]);
......
...@@ -446,12 +446,20 @@ class CellContentProvider implements ITextModelContentProvider { ...@@ -446,12 +446,20 @@ class CellContentProvider implements ITextModelContentProvider {
if (!data) { if (!data) {
return null; return null;
} }
const info = getFirstNotebookInfo(this._notebookService, data.notebook);
if (!info) { const documentAlreadyOpened = this._notebookService.listNotebookDocuments().find(document => document.uri.toString() === data.notebook.toString());
let viewType = documentAlreadyOpened?.viewType;
if (!viewType) {
const info = getFirstNotebookInfo(this._notebookService, data.notebook);
viewType = info?.id;
}
if (!viewType) {
return null; return null;
} }
const ref = await this._notebookModelResolverService.resolve(data.notebook, info.id); const ref = await this._notebookModelResolverService.resolve(data.notebook, viewType);
let result: ITextModel | null = null; let result: ITextModel | null = null;
for (const cell of ref.object.notebook.cells) { for (const cell of ref.object.notebook.cells) {
......
...@@ -7,7 +7,6 @@ import { Action } from 'vs/base/common/actions'; ...@@ -7,7 +7,6 @@ import { Action } from 'vs/base/common/actions';
import { distinct } from 'vs/base/common/arrays'; import { distinct } from 'vs/base/common/arrays';
import { onUnexpectedError } from 'vs/base/common/errors'; import { onUnexpectedError } from 'vs/base/common/errors';
import { KeyCode, KeyMod } from 'vs/base/common/keyCodes'; import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
import * as objects from 'vs/base/common/objects';
import * as platform from 'vs/base/common/platform'; import * as platform from 'vs/base/common/platform';
import { dirname } from 'vs/base/common/resources'; import { dirname } from 'vs/base/common/resources';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
...@@ -614,14 +613,14 @@ MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu, { ...@@ -614,14 +613,14 @@ MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu, {
if (platform.isMacintosh) { if (platform.isMacintosh) {
// Register this with a more restrictive `when` on mac to avoid conflict with "copy path" // Register this with a more restrictive `when` on mac to avoid conflict with "copy path"
KeybindingsRegistry.registerCommandAndKeybindingRule(objects.assign({ KeybindingsRegistry.registerCommandAndKeybindingRule(Object.assign({
id: Constants.ToggleCaseSensitiveCommandId, id: Constants.ToggleCaseSensitiveCommandId,
weight: KeybindingWeight.WorkbenchContrib, weight: KeybindingWeight.WorkbenchContrib,
when: ContextKeyExpr.and(Constants.SearchViewFocusedKey, Constants.FileMatchOrFolderMatchFocusKey.toNegated()), when: ContextKeyExpr.and(Constants.SearchViewFocusedKey, Constants.FileMatchOrFolderMatchFocusKey.toNegated()),
handler: toggleCaseSensitiveCommand handler: toggleCaseSensitiveCommand
}, ToggleCaseSensitiveKeybinding)); }, ToggleCaseSensitiveKeybinding));
} else { } else {
KeybindingsRegistry.registerCommandAndKeybindingRule(objects.assign({ KeybindingsRegistry.registerCommandAndKeybindingRule(Object.assign({
id: Constants.ToggleCaseSensitiveCommandId, id: Constants.ToggleCaseSensitiveCommandId,
weight: KeybindingWeight.WorkbenchContrib, weight: KeybindingWeight.WorkbenchContrib,
when: Constants.SearchViewFocusedKey, when: Constants.SearchViewFocusedKey,
...@@ -629,14 +628,14 @@ if (platform.isMacintosh) { ...@@ -629,14 +628,14 @@ if (platform.isMacintosh) {
}, ToggleCaseSensitiveKeybinding)); }, ToggleCaseSensitiveKeybinding));
} }
KeybindingsRegistry.registerCommandAndKeybindingRule(objects.assign({ KeybindingsRegistry.registerCommandAndKeybindingRule(Object.assign({
id: Constants.ToggleWholeWordCommandId, id: Constants.ToggleWholeWordCommandId,
weight: KeybindingWeight.WorkbenchContrib, weight: KeybindingWeight.WorkbenchContrib,
when: Constants.SearchViewFocusedKey, when: Constants.SearchViewFocusedKey,
handler: toggleWholeWordCommand handler: toggleWholeWordCommand
}, ToggleWholeWordKeybinding)); }, ToggleWholeWordKeybinding));
KeybindingsRegistry.registerCommandAndKeybindingRule(objects.assign({ KeybindingsRegistry.registerCommandAndKeybindingRule(Object.assign({
id: Constants.ToggleRegexCommandId, id: Constants.ToggleRegexCommandId,
weight: KeybindingWeight.WorkbenchContrib, weight: KeybindingWeight.WorkbenchContrib,
when: Constants.SearchViewFocusedKey, when: Constants.SearchViewFocusedKey,
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
import { defaultGenerator } from 'vs/base/common/idGenerator'; import { defaultGenerator } from 'vs/base/common/idGenerator';
import { IFileQuery } from 'vs/workbench/services/search/common/search'; import { IFileQuery } from 'vs/workbench/services/search/common/search';
import { assign, equals } from 'vs/base/common/objects'; import { equals } from 'vs/base/common/objects';
enum LoadingPhase { enum LoadingPhase {
Created = 1, Created = 1,
...@@ -50,8 +50,8 @@ export class FileQueryCacheState { ...@@ -50,8 +50,8 @@ export class FileQueryCacheState {
private previousCacheState: FileQueryCacheState | undefined private previousCacheState: FileQueryCacheState | undefined
) { ) {
if (this.previousCacheState) { if (this.previousCacheState) {
const current = assign({}, this.query, { cacheKey: null }); const current = Object.assign({}, this.query, { cacheKey: null });
const previous = assign({}, this.previousCacheState.query, { cacheKey: null }); const previous = Object.assign({}, this.previousCacheState.query, { cacheKey: null });
if (!equals(current, previous)) { if (!equals(current, previous)) {
this.previousCacheState.dispose(); this.previousCacheState.dispose();
this.previousCacheState = undefined; this.previousCacheState = undefined;
......
...@@ -10,7 +10,6 @@ import { Emitter, Event } from 'vs/base/common/event'; ...@@ -10,7 +10,6 @@ import { Emitter, Event } from 'vs/base/common/event';
import { getBaseLabel } from 'vs/base/common/labels'; import { getBaseLabel } from 'vs/base/common/labels';
import { Disposable, IDisposable, DisposableStore } from 'vs/base/common/lifecycle'; import { Disposable, IDisposable, DisposableStore } from 'vs/base/common/lifecycle';
import { ResourceMap, TernarySearchTree } from 'vs/base/common/map'; import { ResourceMap, TernarySearchTree } from 'vs/base/common/map';
import * as objects from 'vs/base/common/objects';
import { lcut } from 'vs/base/common/strings'; import { lcut } from 'vs/base/common/strings';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { Range } from 'vs/editor/common/core/range'; import { Range } from 'vs/editor/common/core/range';
...@@ -1102,7 +1101,7 @@ export class SearchModel extends Disposable { ...@@ -1102,7 +1101,7 @@ export class SearchModel extends Disposable {
this._searchResult.add(this._resultQueue); this._searchResult.add(this._resultQueue);
this._resultQueue = []; this._resultQueue = [];
const options: IPatternInfo = objects.assign({}, this._searchQuery.contentPattern); const options: IPatternInfo = Object.assign({}, this._searchQuery.contentPattern);
delete (options as any).pattern; delete (options as any).pattern;
const stats = completed && completed.stats as ITextSearchStats; const stats = completed && completed.stats as ITextSearchStats;
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
import * as assert from 'assert'; import * as assert from 'assert';
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 { DeferredPromise } from 'vs/base/test/common/utils'; import { DeferredPromise } from 'vs/base/test/common/utils';
import { QueryType, IFileQuery } from 'vs/workbench/services/search/common/search'; import { QueryType, IFileQuery } from 'vs/workbench/services/search/common/search';
import { FileQueryCacheState } from 'vs/workbench/contrib/search/common/cacheState'; import { FileQueryCacheState } from 'vs/workbench/contrib/search/common/cacheState';
...@@ -186,7 +185,7 @@ suite('FileQueryCacheState', () => { ...@@ -186,7 +185,7 @@ suite('FileQueryCacheState', () => {
public query(cacheKey: string): IFileQuery { public query(cacheKey: string): IFileQuery {
this.cacheKeys.push(cacheKey); this.cacheKeys.push(cacheKey);
return objects.assign({ cacheKey: cacheKey }, this.baseQuery); return Object.assign({ cacheKey: cacheKey }, this.baseQuery);
} }
public load(query: IFileQuery): Promise<any> { public load(query: IFileQuery): Promise<any> {
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import { KeyCode, KeyMod } from 'vs/base/common/keyCodes'; import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
import * as objects from 'vs/base/common/objects';
import { extname } from 'vs/base/common/resources'; import { extname } from 'vs/base/common/resources';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { ServicesAccessor } from 'vs/editor/browser/editorExtensions'; import { ServicesAccessor } from 'vs/editor/browser/editorExtensions';
...@@ -146,21 +145,21 @@ Registry.as<IEditorInputFactoryRegistry>(EditorInputExtensions.EditorInputFactor ...@@ -146,21 +145,21 @@ Registry.as<IEditorInputFactoryRegistry>(EditorInputExtensions.EditorInputFactor
//#endregion //#endregion
//#region Commands //#region Commands
KeybindingsRegistry.registerCommandAndKeybindingRule(objects.assign({ KeybindingsRegistry.registerCommandAndKeybindingRule(Object.assign({
id: ToggleSearchEditorCaseSensitiveCommandId, id: ToggleSearchEditorCaseSensitiveCommandId,
weight: KeybindingWeight.WorkbenchContrib, weight: KeybindingWeight.WorkbenchContrib,
when: ContextKeyExpr.and(SearchEditorConstants.InSearchEditor, SearchConstants.SearchInputBoxFocusedKey), when: ContextKeyExpr.and(SearchEditorConstants.InSearchEditor, SearchConstants.SearchInputBoxFocusedKey),
handler: toggleSearchEditorCaseSensitiveCommand handler: toggleSearchEditorCaseSensitiveCommand
}, ToggleCaseSensitiveKeybinding)); }, ToggleCaseSensitiveKeybinding));
KeybindingsRegistry.registerCommandAndKeybindingRule(objects.assign({ KeybindingsRegistry.registerCommandAndKeybindingRule(Object.assign({
id: ToggleSearchEditorWholeWordCommandId, id: ToggleSearchEditorWholeWordCommandId,
weight: KeybindingWeight.WorkbenchContrib, weight: KeybindingWeight.WorkbenchContrib,
when: ContextKeyExpr.and(SearchEditorConstants.InSearchEditor, SearchConstants.SearchInputBoxFocusedKey), when: ContextKeyExpr.and(SearchEditorConstants.InSearchEditor, SearchConstants.SearchInputBoxFocusedKey),
handler: toggleSearchEditorWholeWordCommand handler: toggleSearchEditorWholeWordCommand
}, ToggleWholeWordKeybinding)); }, ToggleWholeWordKeybinding));
KeybindingsRegistry.registerCommandAndKeybindingRule(objects.assign({ KeybindingsRegistry.registerCommandAndKeybindingRule(Object.assign({
id: ToggleSearchEditorRegexCommandId, id: ToggleSearchEditorRegexCommandId,
weight: KeybindingWeight.WorkbenchContrib, weight: KeybindingWeight.WorkbenchContrib,
when: ContextKeyExpr.and(SearchEditorConstants.InSearchEditor, SearchConstants.SearchInputBoxFocusedKey), when: ContextKeyExpr.and(SearchEditorConstants.InSearchEditor, SearchConstants.SearchInputBoxFocusedKey),
......
...@@ -100,6 +100,9 @@ export class TreeView extends Disposable implements ITreeView { ...@@ -100,6 +100,9 @@ export class TreeView extends Disposable implements ITreeView {
private readonly _onDidChangeTitle: Emitter<string> = this._register(new Emitter<string>()); private readonly _onDidChangeTitle: Emitter<string> = this._register(new Emitter<string>());
readonly onDidChangeTitle: Event<string> = this._onDidChangeTitle.event; readonly onDidChangeTitle: Event<string> = this._onDidChangeTitle.event;
private readonly _onDidChangeDescription: Emitter<string | undefined> = this._register(new Emitter<string | undefined>());
readonly onDidChangeDescription: Event<string | undefined> = this._onDidChangeDescription.event;
private readonly _onDidCompleteRefresh: Emitter<void> = this._register(new Emitter<void>()); private readonly _onDidCompleteRefresh: Emitter<void> = this._register(new Emitter<void>());
constructor( constructor(
...@@ -220,6 +223,16 @@ export class TreeView extends Disposable implements ITreeView { ...@@ -220,6 +223,16 @@ export class TreeView extends Disposable implements ITreeView {
this._onDidChangeTitle.fire(this._title); this._onDidChangeTitle.fire(this._title);
} }
private _description: string | undefined;
get description(): string | undefined {
return this._description;
}
set description(description: string | undefined) {
this._description = description;
this._onDidChangeDescription.fire(this._description);
}
get canSelectMany(): boolean { get canSelectMany(): boolean {
return this._canSelectMany; return this._canSelectMany;
} }
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
import 'vs/css!./watermark'; import 'vs/css!./watermark';
import { Disposable, DisposableStore } from 'vs/base/common/lifecycle'; import { Disposable, DisposableStore } from 'vs/base/common/lifecycle';
import { assign } from 'vs/base/common/objects';
import { isMacintosh, OS } from 'vs/base/common/platform'; import { isMacintosh, OS } from 'vs/base/common/platform';
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import * as nls from 'vs/nls'; import * as nls from 'vs/nls';
...@@ -44,7 +43,7 @@ const openFolderNonMacOnly: WatermarkEntry = { text: nls.localize('watermark.ope ...@@ -44,7 +43,7 @@ const openFolderNonMacOnly: WatermarkEntry = { text: nls.localize('watermark.ope
const openFileOrFolderMacOnly: WatermarkEntry = { text: nls.localize('watermark.openFileFolder', "Open File or Folder"), id: OpenFileFolderAction.ID, mac: true }; const openFileOrFolderMacOnly: WatermarkEntry = { text: nls.localize('watermark.openFileFolder', "Open File or Folder"), id: OpenFileFolderAction.ID, mac: true };
const openRecent: WatermarkEntry = { text: nls.localize('watermark.openRecent', "Open Recent"), id: 'workbench.action.openRecent' }; const openRecent: WatermarkEntry = { text: nls.localize('watermark.openRecent', "Open Recent"), id: 'workbench.action.openRecent' };
const newUntitledFile: WatermarkEntry = { text: nls.localize('watermark.newUntitledFile', "New Untitled File"), id: NEW_UNTITLED_FILE_COMMAND_ID }; const newUntitledFile: WatermarkEntry = { text: nls.localize('watermark.newUntitledFile', "New Untitled File"), id: NEW_UNTITLED_FILE_COMMAND_ID };
const newUntitledFileMacOnly: WatermarkEntry = assign({ mac: true }, newUntitledFile); const newUntitledFileMacOnly: WatermarkEntry = Object.assign({ mac: true }, newUntitledFile);
const toggleTerminal: WatermarkEntry = { text: nls.localize({ key: 'watermark.toggleTerminal', comment: ['toggle is a verb here'] }, "Toggle Terminal"), id: TERMINAL_COMMAND_ID.TOGGLE }; const toggleTerminal: WatermarkEntry = { text: nls.localize({ key: 'watermark.toggleTerminal', comment: ['toggle is a verb here'] }, "Toggle Terminal"), id: TERMINAL_COMMAND_ID.TOGGLE };
const findInFiles: WatermarkEntry = { text: nls.localize('watermark.findInFiles', "Find in Files"), id: FindInFilesActionId }; const findInFiles: WatermarkEntry = { text: nls.localize('watermark.findInFiles', "Find in Files"), id: FindInFilesActionId };
const startDebugging: WatermarkEntry = { text: nls.localize('watermark.startDebugging', "Start Debugging"), id: StartAction.ID }; const startDebugging: WatermarkEntry = { text: nls.localize('watermark.startDebugging', "Start Debugging"), id: StartAction.ID };
......
...@@ -106,6 +106,7 @@ export class DynamicWebviewEditorOverlay extends Disposable implements WebviewOv ...@@ -106,6 +106,7 @@ export class DynamicWebviewEditorOverlay extends Disposable implements WebviewOv
const frameRect = element.getBoundingClientRect(); const frameRect = element.getBoundingClientRect();
const containerRect = this.container.parentElement.getBoundingClientRect(); const containerRect = this.container.parentElement.getBoundingClientRect();
this.container.style.position = 'absolute'; this.container.style.position = 'absolute';
this.container.style.overflow = 'hidden';
this.container.style.top = `${frameRect.top - containerRect.top}px`; this.container.style.top = `${frameRect.top - containerRect.top}px`;
this.container.style.left = `${frameRect.left - containerRect.left}px`; this.container.style.left = `${frameRect.left - containerRect.left}px`;
this.container.style.width = `${dimension ? dimension.width : frameRect.width}px`; this.container.style.width = `${dimension ? dimension.width : frameRect.width}px`;
......
...@@ -11,7 +11,6 @@ import * as os from 'os'; ...@@ -11,7 +11,6 @@ import * as os from 'os';
import * as fs from 'fs'; import * as fs from 'fs';
import * as cp from 'child_process'; import * as cp from 'child_process';
import { assign } from 'vs/base/common/objects';
import { endsWith } from 'vs/base/common/strings'; import { endsWith } from 'vs/base/common/strings';
import { IExtHostWorkspaceProvider } from 'vs/workbench/api/common/extHostWorkspace'; import { IExtHostWorkspaceProvider } from 'vs/workbench/api/common/extHostWorkspace';
import { ExtHostConfigProvider } from 'vs/workbench/api/common/extHostConfiguration'; import { ExtHostConfigProvider } from 'vs/workbench/api/common/extHostConfiguration';
...@@ -314,20 +313,20 @@ function createPatchedModules(configProvider: ExtHostConfigProvider, resolveProx ...@@ -314,20 +313,20 @@ function createPatchedModules(configProvider: ExtHostConfigProvider, resolveProx
return { return {
http: { http: {
off: assign({}, http, patches(http, resolveProxy, { config: 'off' }, certSetting, true)), off: Object.assign({}, http, patches(http, resolveProxy, { config: 'off' }, certSetting, true)),
on: assign({}, http, patches(http, resolveProxy, { config: 'on' }, certSetting, true)), on: Object.assign({}, http, patches(http, resolveProxy, { config: 'on' }, certSetting, true)),
override: assign({}, http, patches(http, resolveProxy, { config: 'override' }, certSetting, true)), override: Object.assign({}, http, patches(http, resolveProxy, { config: 'override' }, certSetting, true)),
onRequest: assign({}, http, patches(http, resolveProxy, proxySetting, certSetting, true)), onRequest: Object.assign({}, http, patches(http, resolveProxy, proxySetting, certSetting, true)),
default: assign(http, patches(http, resolveProxy, proxySetting, certSetting, false)) // run last default: Object.assign(http, patches(http, resolveProxy, proxySetting, certSetting, false)) // run last
} as Record<string, typeof http>, } as Record<string, typeof http>,
https: { https: {
off: assign({}, https, patches(https, resolveProxy, { config: 'off' }, certSetting, true)), off: Object.assign({}, https, patches(https, resolveProxy, { config: 'off' }, certSetting, true)),
on: assign({}, https, patches(https, resolveProxy, { config: 'on' }, certSetting, true)), on: Object.assign({}, https, patches(https, resolveProxy, { config: 'on' }, certSetting, true)),
override: assign({}, https, patches(https, resolveProxy, { config: 'override' }, certSetting, true)), override: Object.assign({}, https, patches(https, resolveProxy, { config: 'override' }, certSetting, true)),
onRequest: assign({}, https, patches(https, resolveProxy, proxySetting, certSetting, true)), onRequest: Object.assign({}, https, patches(https, resolveProxy, proxySetting, certSetting, true)),
default: assign(https, patches(https, resolveProxy, proxySetting, certSetting, false)) // run last default: Object.assign(https, patches(https, resolveProxy, proxySetting, certSetting, false)) // run last
} as Record<string, typeof https>, } as Record<string, typeof https>,
tls: assign(tls, tlsPatches(tls)) tls: Object.assign(tls, tlsPatches(tls))
}; };
} }
......
...@@ -12,7 +12,6 @@ import * as arrays from 'vs/base/common/arrays'; ...@@ -12,7 +12,6 @@ import * as arrays from 'vs/base/common/arrays';
import { toErrorMessage } from 'vs/base/common/errorMessage'; 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 { isEqualOrParent } from 'vs/base/common/extpath'; 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';
...@@ -83,7 +82,7 @@ export class FileWalker { ...@@ -83,7 +82,7 @@ export class FileWalker {
this.folderExcludePatterns = new Map<string, AbsoluteAndRelativeParsedExpression>(); this.folderExcludePatterns = new Map<string, AbsoluteAndRelativeParsedExpression>();
config.folderQueries.forEach(folderQuery => { config.folderQueries.forEach(folderQuery => {
const folderExcludeExpression: glob.IExpression = objects.assign({}, folderQuery.excludePattern || {}, this.config.excludePattern || {}); const folderExcludeExpression: glob.IExpression = Object.assign({}, folderQuery.excludePattern || {}, this.config.excludePattern || {});
// Add excludes for other root folders // Add excludes for other root folders
const fqPath = folderQuery.folder.fsPath; const fqPath = folderQuery.folder.fsPath;
......
...@@ -11,7 +11,6 @@ import { CancellationToken } from 'vs/base/common/cancellation'; ...@@ -11,7 +11,6 @@ import { CancellationToken } from 'vs/base/common/cancellation';
import { canceled } from 'vs/base/common/errors'; import { canceled } from 'vs/base/common/errors';
import { Emitter, Event } from 'vs/base/common/event'; import { Emitter, Event } from 'vs/base/common/event';
import { compareItemsByFuzzyScore, FuzzyScorerCache, IItemAccessor, prepareQuery } from 'vs/base/common/fuzzyScorer'; import { compareItemsByFuzzyScore, FuzzyScorerCache, IItemAccessor, prepareQuery } from 'vs/base/common/fuzzyScorer';
import * as objects from 'vs/base/common/objects';
import { basename, dirname, join, sep } from 'vs/base/common/path'; import { basename, dirname, join, sep } from 'vs/base/common/path';
import { StopWatch } from 'vs/base/common/stopwatch'; import { StopWatch } from 'vs/base/common/stopwatch';
import { URI, UriComponents } from 'vs/base/common/uri'; import { URI, UriComponents } from 'vs/base/common/uri';
...@@ -103,7 +102,7 @@ export class SearchService implements IRawSearchService { ...@@ -103,7 +102,7 @@ export class SearchService implements IRawSearchService {
if (config.sortByScore) { if (config.sortByScore) {
let sortedSearch = this.trySortedSearchFromCache(config, fileProgressCallback, token); let sortedSearch = this.trySortedSearchFromCache(config, fileProgressCallback, token);
if (!sortedSearch) { if (!sortedSearch) {
const walkerConfig = config.maxResults ? objects.assign({}, config, { maxResults: null }) : config; const walkerConfig = config.maxResults ? Object.assign({}, config, { maxResults: null }) : config;
const engine = new EngineClass(walkerConfig); const engine = new EngineClass(walkerConfig);
sortedSearch = this.doSortedSearch(engine, config, progressCallback, fileProgressCallback, token); sortedSearch = this.doSortedSearch(engine, config, progressCallback, fileProgressCallback, token);
} }
......
...@@ -7,7 +7,6 @@ import * as cp from 'child_process'; ...@@ -7,7 +7,6 @@ import * as cp from 'child_process';
import * as path from 'vs/base/common/path'; import * as path from 'vs/base/common/path';
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 extpath from 'vs/base/common/extpath'; 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';
...@@ -92,11 +91,11 @@ export function foldersToRgExcludeGlobs(folderQueries: IFolderQuery[], globalExc ...@@ -92,11 +91,11 @@ export function foldersToRgExcludeGlobs(folderQueries: IFolderQuery[], globalExc
const globArgs: string[] = []; const globArgs: string[] = [];
let siblingClauses: glob.IExpression = {}; let siblingClauses: glob.IExpression = {};
folderQueries.forEach(folderQuery => { folderQueries.forEach(folderQuery => {
const totalExcludePattern = objects.assign({}, folderQuery.excludePattern || {}, globalExclude || {}); const totalExcludePattern = Object.assign({}, folderQuery.excludePattern || {}, globalExclude || {});
const result = globExprsToRgGlobs(totalExcludePattern, absoluteGlobs ? folderQuery.folder.fsPath : undefined, excludesToSkip); const result = globExprsToRgGlobs(totalExcludePattern, absoluteGlobs ? folderQuery.folder.fsPath : undefined, excludesToSkip);
globArgs.push(...result.globArgs); globArgs.push(...result.globArgs);
if (result.siblingClauses) { if (result.siblingClauses) {
siblingClauses = objects.assign(siblingClauses, result.siblingClauses); siblingClauses = Object.assign(siblingClauses, result.siblingClauses);
} }
}); });
...@@ -106,7 +105,7 @@ export function foldersToRgExcludeGlobs(folderQueries: IFolderQuery[], globalExc ...@@ -106,7 +105,7 @@ export function foldersToRgExcludeGlobs(folderQueries: IFolderQuery[], globalExc
export function foldersToIncludeGlobs(folderQueries: IFolderQuery[], globalInclude?: glob.IExpression, absoluteGlobs = true): string[] { export function foldersToIncludeGlobs(folderQueries: IFolderQuery[], globalInclude?: glob.IExpression, absoluteGlobs = true): string[] {
const globArgs: string[] = []; const globArgs: string[] = [];
folderQueries.forEach(folderQuery => { folderQueries.forEach(folderQuery => {
const totalIncludePattern = objects.assign({}, globalInclude || {}, folderQuery.includePattern || {}); const totalIncludePattern = Object.assign({}, globalInclude || {}, folderQuery.includePattern || {});
const result = globExprsToRgGlobs(totalIncludePattern, absoluteGlobs ? folderQuery.folder.fsPath : undefined); const result = globExprsToRgGlobs(totalIncludePattern, absoluteGlobs ? folderQuery.folder.fsPath : undefined);
globArgs.push(...result.globArgs); globArgs.push(...result.globArgs);
}); });
......
...@@ -10050,25 +10050,25 @@ xtend@~2.1.1: ...@@ -10050,25 +10050,25 @@ xtend@~2.1.1:
dependencies: dependencies:
object-keys "~0.4.0" object-keys "~0.4.0"
xterm-addon-search@0.7.0: xterm-addon-search@0.8.0-beta.3:
version "0.7.0" version "0.8.0-beta.3"
resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.7.0.tgz#c929d3e5cbb335e82bff72f158ea82936d9cd4ef" resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.8.0-beta.3.tgz#c6c7e36a03706bd43d8bba383511acf9e435aed0"
integrity sha512-6060evmJJ+tZcjnx33FXaeEHLpuXEa7l9UzUsYfMlCKbu88AbE+5LJocTKCHYd71cwCwb9pjmv/G1o9Rf9Zbcg== integrity sha512-EZP97KJIJ4KGQaOPYiiOaRRJst6LOgeEFoQL46WcBl5EWH9pH8qfrv0BHAJ8+6nBV2B9u5M6rzxO1GvLLec19w==
xterm-addon-unicode11@0.2.0: xterm-addon-unicode11@0.3.0-beta.3:
version "0.2.0" version "0.3.0-beta.3"
resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.2.0.tgz#9ed0c482b353908bba27778893ca80823382737c" resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.3.0-beta.3.tgz#70af2dfb67809258edb62c19e2861f7ce5ccf5cd"
integrity sha512-rjFDItPc/IDoSiEnoDFwKroNwLD/7t9vYKENjrcKVZg5tgJuuUj8D4rZtP6iVCjSB1LTLYmUs4L/EmCqIyLR/Q== integrity sha512-vaYopnOjn19wCLDCyIWPWLwKR7CvLPxB5YZ3CAxt9qL05o3symxIJJJC0DuCa4GaGKVjNc7EmjRCs5bsJ2O1tw==
xterm-addon-webgl@0.9.0-beta.4: xterm-addon-webgl@0.10.0-beta.1:
version "0.9.0-beta.4" version "0.10.0-beta.1"
resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.9.0-beta.4.tgz#5f5fde50db5c06b116471bcf56ad9930884b36fa" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.10.0-beta.1.tgz#e0bf964945a9aa8fc18318ddbd32e56ec99c219e"
integrity sha512-GuCvF7Eg1nKLX6zUbJLkt5cqeeccUjf/G6fugCfrkR0EWWC6Ik5mEsEOs5UWm9vvY2kX9t16BdCrgqp8KJegEg== integrity sha512-XNZMrmiyFaz3XiPq+LqF0qn2QHpUEwuk+cG53JwpJHnWo3dd2jxoIgHFQUcrnvHIVPZMbTKySIwLCCC9uQVl7Q==
xterm@4.9.0-beta.32: xterm@4.10.0-beta.4:
version "4.9.0-beta.32" version "4.10.0-beta.4"
resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.9.0-beta.32.tgz#d1243d3be211cc06aad3418e696e4eced995c20c" resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.10.0-beta.4.tgz#95efce7a40ec582101ec9777f4ccc6e68e95185e"
integrity sha512-jloHNBnj6XRJt+oPkapvrXJZVsYq6se/PEgzErl0iZn9qzSB3jmWE4byumoEjXJR6EgU5ZOmNljeeEDA9jO/jA== integrity sha512-q/yRy2nn4mp1jWZe218TJwlKjXCIr6h28Kw0JMB+lcTeU+MebZ3TrHqlrNVnB+UJfFDOpkw0qfKYfRoV8G/hXA==
y18n@^3.2.1: y18n@^3.2.1:
version "3.2.1" version "3.2.1"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册