@@ -7,8 +7,8 @@ import { Event } from 'vs/base/common/event';
7
7
import { Disposable } from 'vs/base/common/lifecycle' ;
8
8
import { IContextKeyService , IContextKey , setConstant as setConstantContextKey } from 'vs/platform/contextkey/common/contextkey' ;
9
9
import { InputFocusedContext , IsMacContext , IsLinuxContext , IsWindowsContext , IsWebContext , IsMacNativeContext , IsDevelopmentContext , IsIOSContext , ProductQualityContext , IsMobileContext } from 'vs/platform/contextkey/common/contextkeys' ;
10
- import { SplitEditorsVertically , InEditorZenModeContext , ActiveEditorCanRevertContext , ActiveEditorGroupLockedContext , ActiveEditorCanSplitInGroupContext , SideBySideEditorActiveContext , AuxiliaryBarVisibleContext , SideBarVisibleContext , PanelAlignmentContext , PanelMaximizedContext , PanelVisibleContext , ActiveEditorContext , EditorsVisibleContext , TextCompareEditorVisibleContext , TextCompareEditorActiveContext , ActiveEditorGroupEmptyContext , MultipleEditorGroupsContext , EmbedderIdentifierContext , EditorTabsVisibleContext , IsCenteredLayoutContext , ActiveEditorGroupIndexContext , ActiveEditorGroupLastContext , ActiveEditorReadonlyContext , EditorAreaVisibleContext , ActiveEditorAvailableEditorIdsContext , DirtyWorkingCopiesContext , EmptyWorkspaceSupportContext , EnterMultiRootWorkspaceSupportContext , HasWebFileSystemAccess , IsFullscreenContext , OpenFolderWorkspaceSupportContext , RemoteNameContext , VirtualWorkspaceContext , WorkbenchStateContext , WorkspaceFolderCountContext , PanelPositionContext , TemporaryWorkspaceContext , ActiveEditorCanToggleReadonlyContext } from 'vs/workbench/common/contextkeys' ;
11
- import { TEXT_DIFF_EDITOR_ID , EditorInputCapabilities , SIDE_BY_SIDE_EDITOR_ID , DEFAULT_EDITOR_ASSOCIATION , EditorResourceAccessor , SideBySideEditor } from 'vs/workbench/common/editor' ;
10
+ import { SplitEditorsVertically , InEditorZenModeContext , ActiveEditorCanRevertContext , ActiveEditorGroupLockedContext , ActiveEditorCanSplitInGroupContext , SideBySideEditorActiveContext , AuxiliaryBarVisibleContext , SideBarVisibleContext , PanelAlignmentContext , PanelMaximizedContext , PanelVisibleContext , ActiveEditorContext , EditorsVisibleContext , TextCompareEditorVisibleContext , TextCompareEditorActiveContext , ActiveEditorGroupEmptyContext , MultipleEditorGroupsContext , EmbedderIdentifierContext , EditorTabsVisibleContext , IsCenteredLayoutContext , ActiveEditorGroupIndexContext , ActiveEditorGroupLastContext , ActiveEditorReadonlyContext , EditorAreaVisibleContext , ActiveEditorAvailableEditorIdsContext , DirtyWorkingCopiesContext , EmptyWorkspaceSupportContext , EnterMultiRootWorkspaceSupportContext , HasWebFileSystemAccess , IsFullscreenContext , OpenFolderWorkspaceSupportContext , RemoteNameContext , VirtualWorkspaceContext , WorkbenchStateContext , WorkspaceFolderCountContext , PanelPositionContext , TemporaryWorkspaceContext , ActiveEditorCanToggleReadonlyContext , applyAvailableEditorIds } from 'vs/workbench/common/contextkeys' ;
11
+ import { TEXT_DIFF_EDITOR_ID , EditorInputCapabilities , SIDE_BY_SIDE_EDITOR_ID , EditorResourceAccessor , SideBySideEditor } from 'vs/workbench/common/editor' ;
12
12
import { trackFocus , addDisposableListener , EventType } from 'vs/base/browser/dom' ;
13
13
import { preferredSideBySideGroupDirection , GroupDirection , IEditorGroupsService } from 'vs/workbench/services/editor/common/editorGroupsService' ;
14
14
import { IConfigurationService } from 'vs/platform/configuration/common/configuration' ;
@@ -22,7 +22,6 @@ import { IWorkingCopyService } from 'vs/workbench/services/workingCopy/common/wo
22
22
import { isNative } from 'vs/base/common/platform' ;
23
23
import { IEditorResolverService } from 'vs/workbench/services/editor/common/editorResolverService' ;
24
24
import { IPaneCompositePartService } from 'vs/workbench/services/panecomposite/browser/panecomposite' ;
25
- import { Schemas } from 'vs/base/common/network' ;
26
25
import { WebFileSystemAccess } from 'vs/platform/files/browser/webFileSystemAccess' ;
27
26
import { IProductService } from 'vs/platform/product/common/productService' ;
28
27
import { FileSystemProviderCapabilities , IFileService } from 'vs/platform/files/common/files' ;
@@ -296,17 +295,7 @@ export class WorkbenchContextKeysHandler extends Disposable {
296
295
this . activeEditorContext . set ( activeEditorPane . getId ( ) ) ;
297
296
this . activeEditorCanRevert . set ( ! activeEditorPane . input . hasCapability ( EditorInputCapabilities . Untitled ) ) ;
298
297
this . activeEditorCanSplitInGroup . set ( activeEditorPane . input . hasCapability ( EditorInputCapabilities . CanSplitInGroup ) ) ;
299
-
300
- const activeEditorResource = activeEditorPane . input . resource ;
301
- const editors = activeEditorResource ? this . editorResolverService . getEditors ( activeEditorResource ) . map ( editor => editor . id ) : [ ] ;
302
- if ( activeEditorResource ?. scheme === Schemas . untitled && activeEditorPane . input . editorId !== DEFAULT_EDITOR_ASSOCIATION . id ) {
303
- // Non text editor untitled files cannot be easily serialized between extensions
304
- // so instead we disable this context key to prevent common commands that act on the active editor
305
- this . activeEditorAvailableEditorIds . set ( '' ) ;
306
- } else {
307
- this . activeEditorAvailableEditorIds . set ( editors . join ( ',' ) ) ;
308
- }
309
-
298
+ applyAvailableEditorIds ( this . activeEditorAvailableEditorIds , activeEditorPane . input , this . editorResolverService ) ;
310
299
this . activeEditorIsReadonly . set ( ! ! activeEditorPane . input . isReadonly ( ) ) ;
311
300
const primaryEditorResource = EditorResourceAccessor . getOriginalUri ( activeEditorPane . input , { supportSideBySide : SideBySideEditor . PRIMARY } ) ;
312
301
this . activeEditorCanToggleReadonly . set ( ! ! primaryEditorResource && this . fileService . hasProvider ( primaryEditorResource ) && ! this . fileService . hasCapability ( primaryEditorResource , FileSystemProviderCapabilities . Readonly ) ) ;
0 commit comments