diff --git a/src/vs/workbench/services/scm/common/scmProvider.ts b/src/vs/workbench/services/scm/common/scmProvider.ts index 88a48105dc6..a91258d5b3f 100644 --- a/src/vs/workbench/services/scm/common/scmProvider.ts +++ b/src/vs/workbench/services/scm/common/scmProvider.ts @@ -22,10 +22,11 @@ export interface ISCMResourceGroup { export interface ISCMProvider extends IDisposable { onChange: Event; - commitCommand: string; - clickCommand: string; - dragCommand: string; resourceGroups: ISCMResourceGroup[]; + + commit(message: string): TPromise; + click(uri: URI): TPromise; + drag(from: URI, to: URI): TPromise; getOriginalResource(uri: URI): TPromise; } @@ -81,11 +82,6 @@ export abstract class SCMProvider implements ISCMProvider { } - abstract commitCommand: string; - abstract clickCommand: string; - abstract dragCommand: string; - abstract getOriginalResource(uri: URI): TPromise; - createResourceGroup(id: string, label: string): ISCMResourceGroup { const resourceGroup = new ResourceGroup(id, label); this._resourceGroups.push(resourceGroup); @@ -104,6 +100,11 @@ export abstract class SCMProvider implements ISCMProvider { return resourceGroup; } + abstract commit(message: string): TPromise; + abstract click(uri: URI): TPromise; + abstract drag(from: URI, to: URI): TPromise; + abstract getOriginalResource(uri: URI): TPromise; + dispose(): void { this._onChange.dispose(); this._resourceGroups = dispose(this._resourceGroups);