Vscode merge (#4582)

* Merge from vscode 37cb23d3dd4f9433d56d4ba5ea3203580719a0bd

* fix issues with merges

* bump node version in azpipe

* replace license headers

* remove duplicate launch task

* fix build errors

* fix build errors

* fix tslint issues

* working through package and linux build issues

* more work

* wip

* fix packaged builds

* working through linux build errors

* wip

* wip

* wip

* fix mac and linux file limits

* iterate linux pipeline

* disable editor typing

* revert series to parallel

* remove optimize vscode from linux

* fix linting issues

* revert testing change

* add work round for new node

* readd packaging for extensions

* fix issue with angular not resolving decorator dependencies
This commit is contained in:
Anthony Dresser
2019-03-19 17:44:35 -07:00
committed by GitHub
parent 833d197412
commit 87765e8673
1879 changed files with 54505 additions and 38058 deletions

View File

@@ -3,33 +3,20 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
import { IMessagePassingProtocol } from 'vs/base/parts/ipc/node/ipc';
import { Event, Emitter } from 'vs/base/common/event';
/**
* This implementation doesn't perform well since it uses base64 encoding for buffers.
* Electron 3.0 should have suport for buffers in IPC: https://github.com/electron/electron/pull/13055
*/
import { Event } from 'vs/base/common/event';
export interface Sender {
send(channel: string, msg: string | null): void;
send(channel: string, msg: Buffer | null): void;
}
export class Protocol implements IMessagePassingProtocol {
private listener: IDisposable;
private _onMessage = new Emitter<Buffer>();
get onMessage(): Event<Buffer> { return this._onMessage.event; }
constructor(private sender: Sender, onMessageEvent: Event<string>) {
onMessageEvent(msg => this._onMessage.fire(Buffer.from(msg, 'base64')));
}
constructor(private sender: Sender, readonly onMessage: Event<Buffer>) { }
send(message: Buffer): void {
try {
this.sender.send('ipc:message', message.toString('base64'));
this.sender.send('ipc:message', message);
} catch (e) {
// systems are going down
}
@@ -37,6 +24,5 @@ export class Protocol implements IMessagePassingProtocol {
dispose(): void {
this.sender.send('ipc:disconnect', null);
this.listener = dispose(this.listener);
}
}