@@ -40,7 +40,7 @@ import { ILayoutService } from 'vs/platform/layout/browser/layoutService';
40
40
import { IOpenerService } from 'vs/platform/opener/common/opener' ;
41
41
import { IQuickInputService , IQuickPick , IQuickPickItem } from 'vs/platform/quickinput/common/quickInput' ;
42
42
import { IStorageService , StorageScope , StorageTarget } from 'vs/platform/storage/common/storage' ;
43
- import { AccessibilityVerbositySettingId , AccessibilityWorkbenchSettingId , accessibilityHelpIsShown , accessibleViewContainsCodeBlocks , accessibleViewCurrentProviderId , accessibleViewGoToSymbolSupported , accessibleViewInCodeBlock , accessibleViewIsShown , accessibleViewOnLastLine , accessibleViewSupportsNavigation , accessibleViewVerbosityEnabled } from 'vs/workbench/contrib/accessibility/browser/accessibilityConfiguration' ;
43
+ import { AccessibilityVerbositySettingId , AccessibilityWorkbenchSettingId , accessibilityHelpIsShown , accessibleViewContainsCodeBlocks , accessibleViewCurrentProviderId , accessibleViewGoToSymbolSupported , accessibleViewHasAssignedKeybindings , accessibleViewHasUnassignedKeybindings , accessibleViewInCodeBlock , accessibleViewIsShown , accessibleViewOnLastLine , accessibleViewSupportsNavigation , accessibleViewVerbosityEnabled } from 'vs/workbench/contrib/accessibility/browser/accessibilityConfiguration' ;
44
44
import { resolveContentAndKeybindingItems } from 'vs/workbench/contrib/accessibility/browser/accessibleViewKeybindingResolver' ;
45
45
import { AccessibilityCommandId } from 'vs/workbench/contrib/accessibility/common/accessibilityCommands' ;
46
46
import { IChatCodeBlockContextProviderService } from 'vs/workbench/contrib/chat/browser/chat' ;
@@ -72,6 +72,9 @@ export class AccessibleView extends Disposable {
72
72
private _accessibleViewCurrentProviderId : IContextKey < string > ;
73
73
private _accessibleViewInCodeBlock : IContextKey < boolean > ;
74
74
private _accessibleViewContainsCodeBlocks : IContextKey < boolean > ;
75
+ private _hasUnassignedKeybindings : IContextKey < boolean > ;
76
+ private _hasAssignedKeybindings : IContextKey < boolean > ;
77
+
75
78
private _codeBlocks ?: ICodeBlock [ ] ;
76
79
private _inQuickPick : boolean = false ;
77
80
@@ -115,6 +118,8 @@ export class AccessibleView extends Disposable {
115
118
this . _accessibleViewInCodeBlock = accessibleViewInCodeBlock . bindTo ( this . _contextKeyService ) ;
116
119
this . _accessibleViewContainsCodeBlocks = accessibleViewContainsCodeBlocks . bindTo ( this . _contextKeyService ) ;
117
120
this . _onLastLine = accessibleViewOnLastLine . bindTo ( this . _contextKeyService ) ;
121
+ this . _hasUnassignedKeybindings = accessibleViewHasUnassignedKeybindings . bindTo ( this . _contextKeyService ) ;
122
+ this . _hasAssignedKeybindings = accessibleViewHasAssignedKeybindings . bindTo ( this . _contextKeyService ) ;
118
123
119
124
this . _container = document . createElement ( 'div' ) ;
120
125
this . _container . classList . add ( 'accessible-view' ) ;
@@ -191,6 +196,8 @@ export class AccessibleView extends Disposable {
191
196
this . _accessibleViewVerbosityEnabled . reset ( ) ;
192
197
this . _accessibleViewGoToSymbolSupported . reset ( ) ;
193
198
this . _accessibleViewCurrentProviderId . reset ( ) ;
199
+ this . _hasAssignedKeybindings . reset ( ) ;
200
+ this . _hasUnassignedKeybindings . reset ( ) ;
194
201
}
195
202
196
203
getPosition ( id ?: AccessibleViewProviderId ) : Position | undefined {
@@ -503,6 +510,8 @@ export class AccessibleView extends Disposable {
503
510
let content = updatedContent ?? provider . provideContent ( ) ;
504
511
if ( provider . options . type === AccessibleViewType . View ) {
505
512
this . _currentContent = content ;
513
+ this . _hasUnassignedKeybindings . reset ( ) ;
514
+ this . _hasAssignedKeybindings . reset ( ) ;
506
515
return ;
507
516
}
508
517
const readMoreLinkHint = this . _readMoreHint ( provider ) ;
@@ -516,11 +525,17 @@ export class AccessibleView extends Disposable {
516
525
content = resolvedContent . content . value ;
517
526
if ( resolvedContent . configureKeybindingItems ) {
518
527
provider . options . configureKeybindingItems = resolvedContent . configureKeybindingItems ;
528
+ this . _hasUnassignedKeybindings . set ( true ) ;
519
529
configureKbHint = this . _configureUnassignedKbHint ( ) ;
530
+ } else {
531
+ this . _hasAssignedKeybindings . reset ( ) ;
520
532
}
521
533
if ( resolvedContent . configuredKeybindingItems ) {
522
534
provider . options . configuredKeybindingItems = resolvedContent . configuredKeybindingItems ;
535
+ this . _hasAssignedKeybindings . set ( true ) ;
523
536
configureAssignedKbHint = this . _configureAssignedKbHint ( ) ;
537
+ } else {
538
+ this . _hasAssignedKeybindings . reset ( ) ;
524
539
}
525
540
}
526
541
this . _currentContent = content + configureKbHint + configureAssignedKbHint ;
0 commit comments