@@ -39,12 +39,9 @@ import { IExtensionService } from 'vs/workbench/services/extensions/common/exten
3939import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace' ;
4040import { IStorageService } from 'vs/platform/storage/common/storage' ;
4141import { InputBox , MessageType } from 'vs/base/browser/ui/inputbox/inputBox' ;
42- import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent' ;
43- import { KeyMod , KeyCode } from 'vs/base/common/keyCodes' ;
4442import { Command } from 'vs/editor/common/modes' ;
4543import { renderOcticons } from 'vs/base/browser/ui/octiconLabel/octiconLabel' ;
4644import { StandardMouseEvent } from 'vs/base/browser/mouseEvent' ;
47- import * as platform from 'vs/base/common/platform' ;
4845import { format } from 'vs/base/common/strings' ;
4946import { ISpliceable , ISequence , ISplice } from 'vs/base/common/sequence' ;
5047import { firstIndex } from 'vs/base/common/arrays' ;
@@ -748,6 +745,7 @@ export class RepositoryPanel extends ViewletPanel {
748745 private list : List < ISCMResourceGroup | ISCMResource > ;
749746 private menus : SCMMenus ;
750747 private visibilityDisposables : IDisposable [ ] = [ ] ;
748+ protected contextKeyService : IContextKeyService ;
751749
752750 constructor (
753751 id : string ,
@@ -762,12 +760,15 @@ export class RepositoryPanel extends ViewletPanel {
762760 @IEditorService protected editorService : IEditorService ,
763761 @IInstantiationService protected instantiationService : IInstantiationService ,
764762 @IConfigurationService protected configurationService : IConfigurationService ,
765- @IContextKeyService protected contextKeyService : IContextKeyService ,
763+ @IContextKeyService contextKeyService : IContextKeyService ,
766764 @IMenuService protected menuService : IMenuService
767765 ) {
768766 super ( { id, title : repository . provider . label } , keybindingService , contextMenuService , configurationService ) ;
769767 this . menus = instantiationService . createInstance ( SCMMenus , repository . provider ) ;
770768 this . menus . onDidChangeTitle ( this . _onDidChangeTitleArea . fire , this . _onDidChangeTitleArea , this . disposables ) ;
769+
770+ this . contextKeyService = contextKeyService . createScoped ( this . element ) ;
771+ this . contextKeyService . createKey ( 'scmRepository' , repository ) ;
771772 }
772773
773774 render ( ) : void {
@@ -819,7 +820,7 @@ export class RepositoryPanel extends ViewletPanel {
819820 this . inputBoxContainer = append ( container , $ ( '.scm-editor' ) ) ;
820821
821822 const updatePlaceholder = ( ) => {
822- const placeholder = format ( this . repository . input . placeholder , platform . isMacintosh ? 'Cmd+Enter' : 'Ctrl+Enter' ) ;
823+ const placeholder = format ( this . repository . input . placeholder , this . keybindingService . lookupKeybinding ( 'scm.acceptInput' ) . getLabel ( ) ) ;
823824 this . inputBox . setPlaceHolder ( placeholder ) ;
824825 } ;
825826
@@ -854,14 +855,10 @@ export class RepositoryPanel extends ViewletPanel {
854855
855856 updatePlaceholder ( ) ;
856857 this . repository . input . onDidChangePlaceholder ( updatePlaceholder , null , this . disposables ) ;
858+ this . keybindingService . onDidUpdateKeybindings ( updatePlaceholder , null , this . disposables ) ;
857859
858860 this . disposables . push ( this . inputBox . onDidHeightChange ( ( ) => this . layoutBody ( ) ) ) ;
859861
860- chain ( domEvent ( this . inputBox . inputElement , 'keydown' ) )
861- . map ( e => new StandardKeyboardEvent ( e ) )
862- . filter ( e => e . equals ( KeyMod . CtrlCmd | KeyCode . Enter ) || e . equals ( KeyMod . CtrlCmd | KeyCode . KEY_S ) )
863- . on ( this . onDidAcceptInput , this , this . disposables ) ;
864-
865862 if ( this . repository . provider . onDidChangeCommitTemplate ) {
866863 this . repository . provider . onDidChangeCommitTemplate ( this . updateInputBox , this , this . disposables ) ;
867864 }
@@ -996,17 +993,6 @@ export class RepositoryPanel extends ViewletPanel {
996993 this . inputBox . value = this . repository . provider . commitTemplate ;
997994 }
998995
999- private onDidAcceptInput ( ) : void {
1000- if ( ! this . repository . provider . acceptInputCommand ) {
1001- return ;
1002- }
1003-
1004- const id = this . repository . provider . acceptInputCommand . id ;
1005- const args = this . repository . provider . acceptInputCommand . arguments ;
1006-
1007- this . commandService . executeCommand ( id , ...args ) ;
1008- }
1009-
1010996 dispose ( ) : void {
1011997 this . visibilityDisposables = dispose ( this . visibilityDisposables ) ;
1012998 super . dispose ( ) ;
0 commit comments