Use class with static fields (fixes #55494)

This commit is contained in:
Christof Marti
2018-08-03 10:53:43 +02:00
parent dea3960817
commit 1b675ac9ab
4 changed files with 18 additions and 15 deletions

View File

@@ -463,11 +463,6 @@ export function createApiFactory(
},
};
// namespace: QuickInputButtons
const QuickInputButtons: typeof vscode.QuickInputButtons = {
Back: extHostQuickOpen.backButton,
};
// namespace: workspace
const workspace: typeof vscode.workspace = {
get rootPath() {
@@ -732,7 +727,7 @@ export function createApiFactory(
OverviewRulerLane: OverviewRulerLane,
ParameterInformation: extHostTypes.ParameterInformation,
Position: extHostTypes.Position,
QuickInputButtons,
QuickInputButtons: extHostTypes.QuickInputButtons,
Range: extHostTypes.Range,
Selection: extHostTypes.Selection,
SignatureHelp: extHostTypes.SignatureHelp,

View File

@@ -14,9 +14,7 @@ import { ExtHostWorkspace } from 'vs/workbench/api/node/extHostWorkspace';
import { InputBox, InputBoxOptions, QuickInput, QuickInputButton, QuickPick, QuickPickItem, QuickPickOptions, WorkspaceFolder, WorkspaceFolderPickOptions } from 'vscode';
import { ExtHostQuickOpenShape, IMainContext, MainContext, MainThreadQuickOpenShape, TransferQuickPickItems, TransferQuickInput, TransferQuickInputButton } from './extHost.protocol';
import URI from 'vs/base/common/uri';
import { ThemeIcon } from 'vs/workbench/api/node/extHostTypes';
const backButton: QuickInputButton = { iconPath: 'back.svg' };
import { ThemeIcon, QuickInputButtons } from 'vs/workbench/api/node/extHostTypes';
export type Item = string | QuickPickItem;
@@ -153,8 +151,6 @@ export class ExtHostQuickOpen implements ExtHostQuickOpenShape {
// ---- QuickInput
backButton = backButton;
createQuickPick<T extends QuickPickItem>(extensionId: string): QuickPick<T> {
const session = new ExtHostQuickPick(this._proxy, extensionId, () => this._sessions.delete(session._id));
this._sessions.set(session._id, session);
@@ -328,14 +324,14 @@ class ExtHostQuickInput implements QuickInput {
this._buttons = buttons.slice();
this._handlesToButtons.clear();
buttons.forEach((button, i) => {
const handle = button === backButton ? -1 : i;
const handle = button === QuickInputButtons.Back ? -1 : i;
this._handlesToButtons.set(handle, button);
});
this.update({
buttons: buttons.map<TransferQuickInputButton>((button, i) => ({
iconPath: getIconUris(button.iconPath),
tooltip: button.tooltip,
handle: button === backButton ? -1 : i,
handle: button === QuickInputButtons.Back ? -1 : i,
}))
});
}

View File

@@ -1956,3 +1956,10 @@ export enum CommentThreadCollapsibleState {
*/
Expanded = 1
}
export class QuickInputButtons {
static readonly Back: vscode.QuickInputButton = { iconPath: 'back.svg' };
private constructor() { }
}