diff --git a/src/vs/workbench/api/electron-browser/mainThreadSCM.ts b/src/vs/workbench/api/electron-browser/mainThreadSCM.ts index 3602f7f3cb5a7470635b53822dce60201fa099f0..eb4898a7ace119f0cbaf74735428b1ad2055fd08 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadSCM.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadSCM.ts @@ -123,6 +123,9 @@ class MainThreadSCMProvider implements ISCMProvider { private _onDidChangeCommitTemplate = new Emitter(); get onDidChangeCommitTemplate(): Event { return this._onDidChangeCommitTemplate.event; } + private _onDidChangeStatusBarCommands = new Emitter(); + get onDidChangeStatusBarCommands(): Event { return this._onDidChangeStatusBarCommands.event; } + private _onDidChange = new Emitter(); get onDidChange(): Event { return this._onDidChange.event; } @@ -142,6 +145,10 @@ class MainThreadSCMProvider implements ISCMProvider { if (typeof features.commitTemplate !== 'undefined') { this._onDidChangeCommitTemplate.fire(this.commitTemplate); } + + if (typeof features.statusBarCommands !== 'undefined') { + this._onDidChangeStatusBarCommands.fire(this.statusBarCommands); + } } $registerGroup(handle: number, id: string, label: string): void { diff --git a/src/vs/workbench/parts/scm/electron-browser/scmActivity.ts b/src/vs/workbench/parts/scm/electron-browser/scmActivity.ts index 3a88a221a7cb5b245c3644a9e25d53abea90101b..28cbac4159ccd0ab68a8c9e4c0d914bcce6b596d 100644 --- a/src/vs/workbench/parts/scm/electron-browser/scmActivity.ts +++ b/src/vs/workbench/parts/scm/electron-browser/scmActivity.ts @@ -170,7 +170,7 @@ export class StatusBarController implements IWorkbenchContribution { this.focusDisposable.dispose(); if (repository) { - this.focusDisposable = repository.provider.onDidChange(() => this.render(repository)); + this.focusDisposable = repository.provider.onDidChangeStatusBarCommands(() => this.render(repository)); } this.render(repository); diff --git a/src/vs/workbench/services/scm/common/scm.ts b/src/vs/workbench/services/scm/common/scm.ts index 88882ad8cb1bb63fb147a4bf54f444ad18cfea96..2789023ffd348605254651ae24105bfba02c0a57 100644 --- a/src/vs/workbench/services/scm/common/scm.ts +++ b/src/vs/workbench/services/scm/common/scm.ts @@ -59,6 +59,7 @@ export interface ISCMProvider extends IDisposable { readonly count?: number; readonly commitTemplate?: string; readonly onDidChangeCommitTemplate?: Event; + readonly onDidChangeStatusBarCommands?: Event; readonly acceptInputCommand?: Command; readonly statusBarCommands?: Command[]; readonly onDidChange: Event;