diff --git a/src/vs/workbench/api/electron-browser/mainThreadSCM.ts b/src/vs/workbench/api/electron-browser/mainThreadSCM.ts index 02d1be98665..a90ab9c755d 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadSCM.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadSCM.ts @@ -10,21 +10,22 @@ import URI from 'vs/base/common/uri'; import Event, { Emitter } from 'vs/base/common/event'; import { assign } from 'vs/base/common/objects'; import { IDisposable, dispose } from 'vs/base/common/lifecycle'; -import { ISCMService, ISCMRepository, ISCMProvider, ISCMResource, ISCMResourceGroup, ISCMResourceDecorations, ISCMResourceCollection, ISCMResourceSplice } from 'vs/workbench/services/scm/common/scm'; +import { ISCMService, ISCMRepository, ISCMProvider, ISCMResource, ISCMResourceGroup, ISCMResourceDecorations, ISCMResourceCollection } from 'vs/workbench/services/scm/common/scm'; import { ExtHostContext, MainThreadSCMShape, ExtHostSCMShape, SCMProviderFeatures, SCMRawResourceSplices, SCMGroupFeatures, MainContext, IExtHostContext } from '../node/extHost.protocol'; import { Command } from 'vs/editor/common/modes'; import { extHostNamedCustomer } from 'vs/workbench/api/electron-browser/extHostCustomers'; +import { ISplice } from 'vs/base/common/sequence'; class MainThreadSCMResourceCollection implements ISCMResourceCollection { readonly resources: ISCMResource[] = []; - private _onDidSplice = new Emitter(); + private _onDidSplice = new Emitter>(); readonly onDidSplice = this._onDidSplice.event; - splice(start: number, deleteCount: number, resources: ISCMResource[]) { - this.resources.splice(start, deleteCount, ...resources); - this._onDidSplice.fire({ start, deleteCount, resources }); + splice(start: number, deleteCount: number, toInsert: ISCMResource[]) { + this.resources.splice(start, deleteCount, ...toInsert); + this._onDidSplice.fire({ start, deleteCount, toInsert }); } } diff --git a/src/vs/workbench/services/scm/common/scm.ts b/src/vs/workbench/services/scm/common/scm.ts index 461cfd58b6d..e86e527f940 100644 --- a/src/vs/workbench/services/scm/common/scm.ts +++ b/src/vs/workbench/services/scm/common/scm.ts @@ -12,6 +12,7 @@ import Event from 'vs/base/common/event'; import { IDisposable } from 'vs/base/common/lifecycle'; import { Command } from 'vs/editor/common/modes'; import { ColorIdentifier } from 'vs/platform/theme/common/colorRegistry'; +import { ISplice } from 'vs/base/common/sequence'; export interface IBaselineResourceProvider { getBaselineResource(resource: URI): TPromise; @@ -31,15 +32,9 @@ export interface ISCMResourceDecorations { color?: ColorIdentifier; } -export interface ISCMResourceSplice { - start: number; - deleteCount: number; - resources: ISCMResource[]; -} - export interface ISCMResourceCollection { readonly resources: ISCMResource[]; - readonly onDidSplice: Event; + readonly onDidSplice: Event>; } export interface ISCMResource {