Merge VS Code 1.21 source code (#1067)

* Initial VS Code 1.21 file copy with patches

* A few more merges

* Post npm install

* Fix batch of build breaks

* Fix more build breaks

* Fix more build errors

* Fix more build breaks

* Runtime fixes 1

* Get connection dialog working with some todos

* Fix a few packaging issues

* Copy several node_modules to package build to fix loader issues

* Fix breaks from master

* A few more fixes

* Make tests pass

* First pass of license header updates

* Second pass of license header updates

* Fix restore dialog issues

* Remove add additional themes menu items

* fix select box issues where the list doesn't show up

* formatting

* Fix editor dispose issue

* Copy over node modules to correct location on all platforms
This commit is contained in:
Karl Burtram
2018-04-04 15:27:51 -07:00
committed by GitHub
parent 5fba3e31b4
commit dafb780987
9412 changed files with 141255 additions and 98813 deletions

View File

@@ -11,16 +11,16 @@ import { combinedDisposable, IDisposable } from 'vs/base/common/lifecycle';
import { StandardMouseEvent } from 'vs/base/browser/mouseEvent';
import { IActionRunner, ActionRunner, IAction, IRunEvent } from 'vs/base/common/actions';
import { Menu } from 'vs/base/browser/ui/menu/menu';
import Severity from 'vs/base/common/severity';
import { IContextViewService, IContextMenuDelegate } from 'vs/platform/contextview/browser/contextView';
import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { IMessageService } from 'vs/platform/message/common/message';
import { INotificationService } from 'vs/platform/notification/common/notification';
import { IContextMenuDelegate } from 'vs/base/browser/contextmenu';
export class ContextMenuHandler {
private contextViewService: IContextViewService;
private messageService: IMessageService;
private notificationService: INotificationService;
private telemetryService: ITelemetryService;
private actionRunner: IActionRunner;
@@ -28,12 +28,12 @@ export class ContextMenuHandler {
private menuContainerElement: HTMLElement;
private toDispose: IDisposable[];
constructor(element: HTMLElement, contextViewService: IContextViewService, telemetryService: ITelemetryService, messageService: IMessageService) {
constructor(element: HTMLElement, contextViewService: IContextViewService, telemetryService: ITelemetryService, notificationService: INotificationService) {
this.setContainer(element);
this.contextViewService = contextViewService;
this.telemetryService = telemetryService;
this.messageService = messageService;
this.notificationService = notificationService;
this.actionRunner = new ActionRunner();
this.menuContainerElement = null;
@@ -66,8 +66,8 @@ export class ContextMenuHandler {
hideViewOnRun = false;
if (e.error && this.messageService) {
this.messageService.show(Severity.Error, e.error);
if (e.error && this.notificationService) {
this.notificationService.error(e.error);
}
}));
}

View File

@@ -5,17 +5,21 @@
'use strict';
import { ContextMenuHandler } from './contextMenuHandler';
import { IContextViewService, IContextMenuService, IContextMenuDelegate } from './contextView';
import { IContextViewService, IContextMenuService } from './contextView';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { IMessageService } from 'vs/platform/message/common/message';
import Event, { Emitter } from 'vs/base/common/event';
import { INotificationService } from 'vs/platform/notification/common/notification';
import { IContextMenuDelegate } from 'vs/base/browser/contextmenu';
export class ContextMenuService implements IContextMenuService {
public _serviceBrand: any;
private contextMenuHandler: ContextMenuHandler;
private _onDidContextMenu = new Emitter<void>();
constructor(container: HTMLElement, telemetryService: ITelemetryService, messageService: IMessageService, contextViewService: IContextViewService) {
this.contextMenuHandler = new ContextMenuHandler(container, contextViewService, telemetryService, messageService);
constructor(container: HTMLElement, telemetryService: ITelemetryService, notificationService: INotificationService, contextViewService: IContextViewService) {
this.contextMenuHandler = new ContextMenuHandler(container, contextViewService, telemetryService, notificationService);
}
public dispose(): void {
@@ -30,5 +34,10 @@ export class ContextMenuService implements IContextMenuService {
public showContextMenu(delegate: IContextMenuDelegate): void {
this.contextMenuHandler.showContextMenu(delegate);
this._onDidContextMenu.fire();
}
}
public get onDidContextMenu(): Event<void> {
return this._onDidContextMenu.event;
}
}

View File

@@ -5,11 +5,9 @@
'use strict';
import { IDisposable } from 'vs/base/common/lifecycle';
import { IAction, IActionRunner, Action } from 'vs/base/common/actions';
import { IActionItem } from 'vs/base/browser/ui/actionbar/actionbar';
import { TPromise } from 'vs/base/common/winjs.base';
import { ResolvedKeybinding } from 'vs/base/common/keyCodes';
import Event from 'vs/base/common/event';
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
import { IContextMenuDelegate } from 'vs/base/browser/contextmenu';
export const IContextViewService = createDecorator<IContextViewService>('contextViewService');
@@ -24,7 +22,7 @@ export interface IContextViewDelegate {
getAnchor(): HTMLElement | { x: number; y: number; };
render(container: HTMLElement): IDisposable;
canRelayout?: boolean; // Default: true
onDOMEvent?(e: Event, activeElement: HTMLElement): void;
onDOMEvent?(e: any, activeElement: HTMLElement): void;
onHide?(data?: any): void;
}
@@ -33,29 +31,6 @@ export const IContextMenuService = createDecorator<IContextMenuService>('context
export interface IContextMenuService {
_serviceBrand: any;
showContextMenu(delegate: IContextMenuDelegate): void;
}
export interface IEvent {
shiftKey?: boolean;
ctrlKey?: boolean;
altKey?: boolean;
metaKey?: boolean;
}
export interface IContextMenuDelegate {
getAnchor(): HTMLElement | { x: number; y: number; };
getActions(): TPromise<(IAction | ContextSubMenu)[]>;
getActionItem?(action: IAction): IActionItem;
getActionsContext?(event?: IEvent): any;
getKeyBinding?(action: IAction): ResolvedKeybinding;
getMenuClassName?(): string;
onHide?(didCancel: boolean): void;
actionRunner?: IActionRunner;
autoSelectFirstItem?: boolean;
}
export class ContextSubMenu extends Action {
constructor(label: string, public entries: (ContextSubMenu | IAction)[]) {
super('contextsubmenu', label, '', true);
}
}
// TODO@isidor these event should be removed once we get async context menus
onDidContextMenu: Event<void>;
}

View File

@@ -7,7 +7,7 @@
import { IContextViewService, IContextViewDelegate } from './contextView';
import { ContextView } from 'vs/base/browser/ui/contextview/contextview';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { IMessageService } from 'vs/platform/message/common/message';
import { ILogService } from 'vs/platform/log/common/log';
export class ContextViewService implements IContextViewService {
public _serviceBrand: any;
@@ -17,7 +17,7 @@ export class ContextViewService implements IContextViewService {
constructor(
container: HTMLElement,
@ITelemetryService telemetryService: ITelemetryService,
@IMessageService messageService: IMessageService
@ILogService private logService: ILogService
) {
this.contextView = new ContextView(container);
}
@@ -29,10 +29,12 @@ export class ContextViewService implements IContextViewService {
// ContextView
public setContainer(container: HTMLElement): void {
this.logService.trace('ContextViewService#setContainer');
this.contextView.setContainer(container);
}
public showContextView(delegate: IContextViewDelegate): void {
this.logService.trace('ContextViewService#showContextView');
this.contextView.show(delegate);
}
@@ -41,6 +43,7 @@ export class ContextViewService implements IContextViewService {
}
public hideContextView(data?: any): void {
this.logService.trace('ContextViewService#hideContextView');
this.contextView.hide(data);
}
}