monaco-editor-core 0.56.0-dev-20251122 → 0.56.0-dev-20251124
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/nls.messages.cs.js +1 -1
- package/esm/nls.messages.de.js +1 -1
- package/esm/nls.messages.es.js +1 -1
- package/esm/nls.messages.fr.js +1 -1
- package/esm/nls.messages.it.js +1 -1
- package/esm/nls.messages.ja.js +1 -1
- package/esm/nls.messages.ko.js +1 -1
- package/esm/nls.messages.pl.js +1 -1
- package/esm/nls.messages.pt-br.js +1 -1
- package/esm/nls.messages.ru.js +1 -1
- package/esm/nls.messages.tr.js +1 -1
- package/esm/nls.messages.zh-cn.js +1 -1
- package/esm/nls.messages.zh-tw.js +1 -1
- package/esm/vs/base/common/product.js.map +1 -1
- package/esm/vs/platform/actions/common/actions.js +0 -1
- package/esm/vs/platform/actions/common/actions.js.map +1 -1
- package/package.json +2 -2
package/esm/nls.messages.cs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!-----------------------------------------------------------
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Version: 0.56.0-dev-
|
|
3
|
+
* Version: 0.56.0-dev-20251124(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
|
6
6
|
*-----------------------------------------------------------*/
|
package/esm/nls.messages.de.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!-----------------------------------------------------------
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Version: 0.56.0-dev-
|
|
3
|
+
* Version: 0.56.0-dev-20251124(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
|
6
6
|
*-----------------------------------------------------------*/
|
package/esm/nls.messages.es.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!-----------------------------------------------------------
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Version: 0.56.0-dev-
|
|
3
|
+
* Version: 0.56.0-dev-20251124(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
|
6
6
|
*-----------------------------------------------------------*/
|
package/esm/nls.messages.fr.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!-----------------------------------------------------------
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Version: 0.56.0-dev-
|
|
3
|
+
* Version: 0.56.0-dev-20251124(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
|
6
6
|
*-----------------------------------------------------------*/
|
package/esm/nls.messages.it.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!-----------------------------------------------------------
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Version: 0.56.0-dev-
|
|
3
|
+
* Version: 0.56.0-dev-20251124(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
|
6
6
|
*-----------------------------------------------------------*/
|
package/esm/nls.messages.ja.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!-----------------------------------------------------------
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Version: 0.56.0-dev-
|
|
3
|
+
* Version: 0.56.0-dev-20251124(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
|
6
6
|
*-----------------------------------------------------------*/
|
package/esm/nls.messages.ko.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!-----------------------------------------------------------
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Version: 0.56.0-dev-
|
|
3
|
+
* Version: 0.56.0-dev-20251124(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
|
6
6
|
*-----------------------------------------------------------*/
|
package/esm/nls.messages.pl.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!-----------------------------------------------------------
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Version: 0.56.0-dev-
|
|
3
|
+
* Version: 0.56.0-dev-20251124(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
|
6
6
|
*-----------------------------------------------------------*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!-----------------------------------------------------------
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Version: 0.56.0-dev-
|
|
3
|
+
* Version: 0.56.0-dev-20251124(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
|
6
6
|
*-----------------------------------------------------------*/
|
package/esm/nls.messages.ru.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!-----------------------------------------------------------
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Version: 0.56.0-dev-
|
|
3
|
+
* Version: 0.56.0-dev-20251124(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
|
6
6
|
*-----------------------------------------------------------*/
|
package/esm/nls.messages.tr.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!-----------------------------------------------------------
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Version: 0.56.0-dev-
|
|
3
|
+
* Version: 0.56.0-dev-20251124(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
|
6
6
|
*-----------------------------------------------------------*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!-----------------------------------------------------------
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Version: 0.56.0-dev-
|
|
3
|
+
* Version: 0.56.0-dev-20251124(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
|
6
6
|
*-----------------------------------------------------------*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!-----------------------------------------------------------
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Version: 0.56.0-dev-
|
|
3
|
+
* Version: 0.56.0-dev-20251124(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
|
6
6
|
*-----------------------------------------------------------*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sources":["vs/base/common/product.ts"],"names":[],"mappings":"","sourcesContent":["\n\nexport interface IProductConfiguration {\n\treadonly version: string;\n\treadonly quality?: string;\n\n\treadonly nameShort: string;\n\treadonly nameLong: string;\n\treadonly dataFolderName: string;\n\treadonly serverDataFolderName?: string;\n\n\treadonly defaultChatAgent
|
|
1
|
+
{"version":3,"file":"product.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sources":["vs/base/common/product.ts"],"names":[],"mappings":"","sourcesContent":["\n\nexport interface IProductConfiguration {\n\treadonly version: string;\n\treadonly quality?: string;\n\n\treadonly nameShort: string;\n\treadonly nameLong: string;\n\treadonly dataFolderName: string;\n\treadonly serverDataFolderName?: string;\n\n\treadonly defaultChatAgent: IDefaultChatAgent;\n}\n\nexport interface IDefaultChatAgent {\n\treadonly extensionId: string;\n\treadonly chatExtensionId: string;\n\treadonly completionsEnablementSetting: string;\n}\n"]}
|
|
@@ -212,7 +212,6 @@ export class MenuId {
|
|
|
212
212
|
static { this.ChatCodeBlock = new MenuId('ChatCodeblock'); }
|
|
213
213
|
static { this.ChatCompareBlock = new MenuId('ChatCompareBlock'); }
|
|
214
214
|
static { this.ChatMessageTitle = new MenuId('ChatMessageTitle'); }
|
|
215
|
-
static { this.ChatHistory = new MenuId('ChatHistory'); }
|
|
216
215
|
static { this.ChatWelcomeContext = new MenuId('ChatWelcomeContext'); }
|
|
217
216
|
static { this.ChatMessageFooter = new MenuId('ChatMessageFooter'); }
|
|
218
217
|
static { this.ChatExecute = new MenuId('ChatExecute'); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/platform/actions/common/actions.ts","vs/platform/actions/common/actions.ts"],"names":[],"mappings":"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","file":"actions.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { IAction, SubmenuAction } from '../../../base/common/actions.js';\nimport { Event, MicrotaskEmitter } from '../../../base/common/event.js';\nimport { DisposableStore, dispose, IDisposable, markAsSingleton, toDisposable } from '../../../base/common/lifecycle.js';\nimport { LinkedList } from '../../../base/common/linkedList.js';\nimport { ThemeIcon } from '../../../base/common/themables.js';\nimport { ICommandAction, ICommandActionTitle, Icon, ILocalizedString } from '../../action/common/action.js';\nimport { Categories } from '../../action/common/actionCommonCategories.js';\nimport { CommandsRegistry, ICommandService } from '../../commands/common/commands.js';\nimport { ContextKeyExpr, ContextKeyExpression, IContextKeyService } from '../../contextkey/common/contextkey.js';\nimport { createDecorator, ServicesAccessor } from '../../instantiation/common/instantiation.js';\nimport { IKeybindingRule, KeybindingsRegistry } from '../../keybinding/common/keybindingsRegistry.js';\n\nexport interface IMenuItem {\n\tcommand: ICommandAction;\n\talt?: ICommandAction;\n\t/**\n\t * Menu item is hidden if this expression returns false.\n\t */\n\twhen?: ContextKeyExpression;\n\tgroup?: 'navigation' | string;\n\torder?: number;\n\tisHiddenByDefault?: boolean;\n}\n\nexport interface ISubmenuItem {\n\ttitle: string | ICommandActionTitle;\n\tsubmenu: MenuId;\n\ticon?: Icon;\n\twhen?: ContextKeyExpression;\n\tgroup?: 'navigation' | string;\n\torder?: number;\n\tisSelection?: boolean;\n\t/**\n\t * A split button shows the first action\n\t * as primary action and the rest of the\n\t * actions in a dropdown.\n\t *\n\t * Use `togglePrimaryAction` to promote\n\t * the action that was last used to be\n\t * the primary action and remember that\n\t * choice.\n\t */\n\tisSplitButton?: boolean | {\n\t\t/**\n\t\t * Will update the primary action based\n\t\t * on the action that was last run.\n\t\t */\n\t\ttogglePrimaryAction: true;\n\t};\n}\n\nexport function isIMenuItem(item: unknown): item is IMenuItem {\n\treturn (item as IMenuItem).command !== undefined;\n}\n\nexport function isISubmenuItem(item: unknown): item is ISubmenuItem {\n\treturn (item as ISubmenuItem).submenu !== undefined;\n}\n\nexport class MenuId {\n\n\tprivate static readonly _instances = new Map<string, MenuId>();\n\n\tstatic readonly CommandPalette = new MenuId('CommandPalette');\n\tstatic readonly DebugBreakpointsContext = new MenuId('DebugBreakpointsContext');\n\tstatic readonly DebugCallStackContext = new MenuId('DebugCallStackContext');\n\tstatic readonly DebugConsoleContext = new MenuId('DebugConsoleContext');\n\tstatic readonly DebugVariablesContext = new MenuId('DebugVariablesContext');\n\tstatic readonly NotebookVariablesContext = new MenuId('NotebookVariablesContext');\n\tstatic readonly DebugHoverContext = new MenuId('DebugHoverContext');\n\tstatic readonly DebugWatchContext = new MenuId('DebugWatchContext');\n\tstatic readonly DebugToolBar = new MenuId('DebugToolBar');\n\tstatic readonly DebugToolBarStop = new MenuId('DebugToolBarStop');\n\tstatic readonly DebugDisassemblyContext = new MenuId('DebugDisassemblyContext');\n\tstatic readonly DebugCallStackToolbar = new MenuId('DebugCallStackToolbar');\n\tstatic readonly DebugCreateConfiguration = new MenuId('DebugCreateConfiguration');\n\tstatic readonly EditorContext = new MenuId('EditorContext');\n\tstatic readonly SimpleEditorContext = new MenuId('SimpleEditorContext');\n\tstatic readonly EditorContent = new MenuId('EditorContent');\n\tstatic readonly EditorLineNumberContext = new MenuId('EditorLineNumberContext');\n\tstatic readonly EditorContextCopy = new MenuId('EditorContextCopy');\n\tstatic readonly EditorContextPeek = new MenuId('EditorContextPeek');\n\tstatic readonly EditorContextShare = new MenuId('EditorContextShare');\n\tstatic readonly EditorTitle = new MenuId('EditorTitle');\n\tstatic readonly CompactWindowEditorTitle = new MenuId('CompactWindowEditorTitle');\n\tstatic readonly EditorTitleRun = new MenuId('EditorTitleRun');\n\tstatic readonly EditorTitleContext = new MenuId('EditorTitleContext');\n\tstatic readonly EditorTitleContextShare = new MenuId('EditorTitleContextShare');\n\tstatic readonly EmptyEditorGroup = new MenuId('EmptyEditorGroup');\n\tstatic readonly EmptyEditorGroupContext = new MenuId('EmptyEditorGroupContext');\n\tstatic readonly EditorTabsBarContext = new MenuId('EditorTabsBarContext');\n\tstatic readonly EditorTabsBarShowTabsSubmenu = new MenuId('EditorTabsBarShowTabsSubmenu');\n\tstatic readonly EditorTabsBarShowTabsZenModeSubmenu = new MenuId('EditorTabsBarShowTabsZenModeSubmenu');\n\tstatic readonly EditorActionsPositionSubmenu = new MenuId('EditorActionsPositionSubmenu');\n\tstatic readonly EditorSplitMoveSubmenu = new MenuId('EditorSplitMoveSubmenu');\n\tstatic readonly ExplorerContext = new MenuId('ExplorerContext');\n\tstatic readonly ExplorerContextShare = new MenuId('ExplorerContextShare');\n\tstatic readonly ExtensionContext = new MenuId('ExtensionContext');\n\tstatic readonly ExtensionEditorContextMenu = new MenuId('ExtensionEditorContextMenu');\n\tstatic readonly GlobalActivity = new MenuId('GlobalActivity');\n\tstatic readonly CommandCenter = new MenuId('CommandCenter');\n\tstatic readonly CommandCenterCenter = new MenuId('CommandCenterCenter');\n\tstatic readonly LayoutControlMenuSubmenu = new MenuId('LayoutControlMenuSubmenu');\n\tstatic readonly LayoutControlMenu = new MenuId('LayoutControlMenu');\n\tstatic readonly MenubarMainMenu = new MenuId('MenubarMainMenu');\n\tstatic readonly MenubarAppearanceMenu = new MenuId('MenubarAppearanceMenu');\n\tstatic readonly MenubarDebugMenu = new MenuId('MenubarDebugMenu');\n\tstatic readonly MenubarEditMenu = new MenuId('MenubarEditMenu');\n\tstatic readonly MenubarCopy = new MenuId('MenubarCopy');\n\tstatic readonly MenubarFileMenu = new MenuId('MenubarFileMenu');\n\tstatic readonly MenubarGoMenu = new MenuId('MenubarGoMenu');\n\tstatic readonly MenubarHelpMenu = new MenuId('MenubarHelpMenu');\n\tstatic readonly MenubarLayoutMenu = new MenuId('MenubarLayoutMenu');\n\tstatic readonly MenubarNewBreakpointMenu = new MenuId('MenubarNewBreakpointMenu');\n\tstatic readonly PanelAlignmentMenu = new MenuId('PanelAlignmentMenu');\n\tstatic readonly PanelPositionMenu = new MenuId('PanelPositionMenu');\n\tstatic readonly ActivityBarPositionMenu = new MenuId('ActivityBarPositionMenu');\n\tstatic readonly MenubarPreferencesMenu = new MenuId('MenubarPreferencesMenu');\n\tstatic readonly MenubarRecentMenu = new MenuId('MenubarRecentMenu');\n\tstatic readonly MenubarSelectionMenu = new MenuId('MenubarSelectionMenu');\n\tstatic readonly MenubarShare = new MenuId('MenubarShare');\n\tstatic readonly MenubarSwitchEditorMenu = new MenuId('MenubarSwitchEditorMenu');\n\tstatic readonly MenubarSwitchGroupMenu = new MenuId('MenubarSwitchGroupMenu');\n\tstatic readonly MenubarTerminalMenu = new MenuId('MenubarTerminalMenu');\n\tstatic readonly MenubarTerminalSuggestStatusMenu = new MenuId('MenubarTerminalSuggestStatusMenu');\n\tstatic readonly MenubarViewMenu = new MenuId('MenubarViewMenu');\n\tstatic readonly MenubarHomeMenu = new MenuId('MenubarHomeMenu');\n\tstatic readonly OpenEditorsContext = new MenuId('OpenEditorsContext');\n\tstatic readonly OpenEditorsContextShare = new MenuId('OpenEditorsContextShare');\n\tstatic readonly ProblemsPanelContext = new MenuId('ProblemsPanelContext');\n\tstatic readonly SCMInputBox = new MenuId('SCMInputBox');\n\tstatic readonly SCMChangeContext = new MenuId('SCMChangeContext');\n\tstatic readonly SCMResourceContext = new MenuId('SCMResourceContext');\n\tstatic readonly SCMResourceContextShare = new MenuId('SCMResourceContextShare');\n\tstatic readonly SCMResourceFolderContext = new MenuId('SCMResourceFolderContext');\n\tstatic readonly SCMResourceGroupContext = new MenuId('SCMResourceGroupContext');\n\tstatic readonly SCMSourceControl = new MenuId('SCMSourceControl');\n\tstatic readonly SCMSourceControlInline = new MenuId('SCMSourceControlInline');\n\tstatic readonly SCMSourceControlTitle = new MenuId('SCMSourceControlTitle');\n\tstatic readonly SCMHistoryTitle = new MenuId('SCMHistoryTitle');\n\tstatic readonly SCMHistoryItemContext = new MenuId('SCMHistoryItemContext');\n\tstatic readonly SCMHistoryItemChangeContext = new MenuId('SCMHistoryItemChangeContext');\n\tstatic readonly SCMHistoryItemRefContext = new MenuId('SCMHistoryItemRefContext');\n\tstatic readonly SCMArtifactGroupContext = new MenuId('SCMArtifactGroupContext');\n\tstatic readonly SCMArtifactContext = new MenuId('SCMArtifactContext');\n\tstatic readonly SCMQuickDiffDecorations = new MenuId('SCMQuickDiffDecorations');\n\tstatic readonly SCMTitle = new MenuId('SCMTitle');\n\tstatic readonly SearchContext = new MenuId('SearchContext');\n\tstatic readonly SearchActionMenu = new MenuId('SearchActionContext');\n\tstatic readonly StatusBarWindowIndicatorMenu = new MenuId('StatusBarWindowIndicatorMenu');\n\tstatic readonly StatusBarRemoteIndicatorMenu = new MenuId('StatusBarRemoteIndicatorMenu');\n\tstatic readonly StickyScrollContext = new MenuId('StickyScrollContext');\n\tstatic readonly TestItem = new MenuId('TestItem');\n\tstatic readonly TestItemGutter = new MenuId('TestItemGutter');\n\tstatic readonly TestProfilesContext = new MenuId('TestProfilesContext');\n\tstatic readonly TestMessageContext = new MenuId('TestMessageContext');\n\tstatic readonly TestMessageContent = new MenuId('TestMessageContent');\n\tstatic readonly TestPeekElement = new MenuId('TestPeekElement');\n\tstatic readonly TestPeekTitle = new MenuId('TestPeekTitle');\n\tstatic readonly TestCallStack = new MenuId('TestCallStack');\n\tstatic readonly TestCoverageFilterItem = new MenuId('TestCoverageFilterItem');\n\tstatic readonly TouchBarContext = new MenuId('TouchBarContext');\n\tstatic readonly TitleBar = new MenuId('TitleBar');\n\tstatic readonly TitleBarContext = new MenuId('TitleBarContext');\n\tstatic readonly TitleBarTitleContext = new MenuId('TitleBarTitleContext');\n\tstatic readonly TunnelContext = new MenuId('TunnelContext');\n\tstatic readonly TunnelPrivacy = new MenuId('TunnelPrivacy');\n\tstatic readonly TunnelProtocol = new MenuId('TunnelProtocol');\n\tstatic readonly TunnelPortInline = new MenuId('TunnelInline');\n\tstatic readonly TunnelTitle = new MenuId('TunnelTitle');\n\tstatic readonly TunnelLocalAddressInline = new MenuId('TunnelLocalAddressInline');\n\tstatic readonly TunnelOriginInline = new MenuId('TunnelOriginInline');\n\tstatic readonly ViewItemContext = new MenuId('ViewItemContext');\n\tstatic readonly ViewContainerTitle = new MenuId('ViewContainerTitle');\n\tstatic readonly ViewContainerTitleContext = new MenuId('ViewContainerTitleContext');\n\tstatic readonly ViewTitle = new MenuId('ViewTitle');\n\tstatic readonly ViewTitleContext = new MenuId('ViewTitleContext');\n\tstatic readonly CommentEditorActions = new MenuId('CommentEditorActions');\n\tstatic readonly CommentThreadTitle = new MenuId('CommentThreadTitle');\n\tstatic readonly CommentThreadActions = new MenuId('CommentThreadActions');\n\tstatic readonly CommentThreadAdditionalActions = new MenuId('CommentThreadAdditionalActions');\n\tstatic readonly CommentThreadTitleContext = new MenuId('CommentThreadTitleContext');\n\tstatic readonly CommentThreadCommentContext = new MenuId('CommentThreadCommentContext');\n\tstatic readonly CommentTitle = new MenuId('CommentTitle');\n\tstatic readonly CommentActions = new MenuId('CommentActions');\n\tstatic readonly CommentsViewThreadActions = new MenuId('CommentsViewThreadActions');\n\tstatic readonly InteractiveToolbar = new MenuId('InteractiveToolbar');\n\tstatic readonly InteractiveCellTitle = new MenuId('InteractiveCellTitle');\n\tstatic readonly InteractiveCellDelete = new MenuId('InteractiveCellDelete');\n\tstatic readonly InteractiveCellExecute = new MenuId('InteractiveCellExecute');\n\tstatic readonly InteractiveInputExecute = new MenuId('InteractiveInputExecute');\n\tstatic readonly InteractiveInputConfig = new MenuId('InteractiveInputConfig');\n\tstatic readonly ReplInputExecute = new MenuId('ReplInputExecute');\n\tstatic readonly IssueReporter = new MenuId('IssueReporter');\n\tstatic readonly NotebookToolbar = new MenuId('NotebookToolbar');\n\tstatic readonly NotebookToolbarContext = new MenuId('NotebookToolbarContext');\n\tstatic readonly NotebookStickyScrollContext = new MenuId('NotebookStickyScrollContext');\n\tstatic readonly NotebookCellTitle = new MenuId('NotebookCellTitle');\n\tstatic readonly NotebookCellDelete = new MenuId('NotebookCellDelete');\n\tstatic readonly NotebookCellInsert = new MenuId('NotebookCellInsert');\n\tstatic readonly NotebookCellBetween = new MenuId('NotebookCellBetween');\n\tstatic readonly NotebookCellListTop = new MenuId('NotebookCellTop');\n\tstatic readonly NotebookCellExecute = new MenuId('NotebookCellExecute');\n\tstatic readonly NotebookCellExecuteGoTo = new MenuId('NotebookCellExecuteGoTo');\n\tstatic readonly NotebookCellExecutePrimary = new MenuId('NotebookCellExecutePrimary');\n\tstatic readonly NotebookDiffCellInputTitle = new MenuId('NotebookDiffCellInputTitle');\n\tstatic readonly NotebookDiffDocumentMetadata = new MenuId('NotebookDiffDocumentMetadata');\n\tstatic readonly NotebookDiffCellMetadataTitle = new MenuId('NotebookDiffCellMetadataTitle');\n\tstatic readonly NotebookDiffCellOutputsTitle = new MenuId('NotebookDiffCellOutputsTitle');\n\tstatic readonly NotebookOutputToolbar = new MenuId('NotebookOutputToolbar');\n\tstatic readonly NotebookOutlineFilter = new MenuId('NotebookOutlineFilter');\n\tstatic readonly NotebookOutlineActionMenu = new MenuId('NotebookOutlineActionMenu');\n\tstatic readonly NotebookEditorLayoutConfigure = new MenuId('NotebookEditorLayoutConfigure');\n\tstatic readonly NotebookKernelSource = new MenuId('NotebookKernelSource');\n\tstatic readonly BulkEditTitle = new MenuId('BulkEditTitle');\n\tstatic readonly BulkEditContext = new MenuId('BulkEditContext');\n\tstatic readonly TimelineItemContext = new MenuId('TimelineItemContext');\n\tstatic readonly TimelineTitle = new MenuId('TimelineTitle');\n\tstatic readonly TimelineTitleContext = new MenuId('TimelineTitleContext');\n\tstatic readonly TimelineFilterSubMenu = new MenuId('TimelineFilterSubMenu');\n\tstatic readonly AgentSessionsTitle = new MenuId('AgentSessionsTitle');\n\tstatic readonly AgentSessionsFilterSubMenu = new MenuId('AgentSessionsFilterSubMenu');\n\tstatic readonly AccountsContext = new MenuId('AccountsContext');\n\tstatic readonly SidebarTitle = new MenuId('SidebarTitle');\n\tstatic readonly PanelTitle = new MenuId('PanelTitle');\n\tstatic readonly AuxiliaryBarTitle = new MenuId('AuxiliaryBarTitle');\n\tstatic readonly TerminalInstanceContext = new MenuId('TerminalInstanceContext');\n\tstatic readonly TerminalEditorInstanceContext = new MenuId('TerminalEditorInstanceContext');\n\tstatic readonly TerminalNewDropdownContext = new MenuId('TerminalNewDropdownContext');\n\tstatic readonly TerminalTabContext = new MenuId('TerminalTabContext');\n\tstatic readonly TerminalTabEmptyAreaContext = new MenuId('TerminalTabEmptyAreaContext');\n\tstatic readonly TerminalStickyScrollContext = new MenuId('TerminalStickyScrollContext');\n\tstatic readonly WebviewContext = new MenuId('WebviewContext');\n\tstatic readonly InlineCompletionsActions = new MenuId('InlineCompletionsActions');\n\tstatic readonly InlineEditsActions = new MenuId('InlineEditsActions');\n\tstatic readonly NewFile = new MenuId('NewFile');\n\tstatic readonly MergeInput1Toolbar = new MenuId('MergeToolbar1Toolbar');\n\tstatic readonly MergeInput2Toolbar = new MenuId('MergeToolbar2Toolbar');\n\tstatic readonly MergeBaseToolbar = new MenuId('MergeBaseToolbar');\n\tstatic readonly MergeInputResultToolbar = new MenuId('MergeToolbarResultToolbar');\n\tstatic readonly InlineSuggestionToolbar = new MenuId('InlineSuggestionToolbar');\n\tstatic readonly InlineEditToolbar = new MenuId('InlineEditToolbar');\n\tstatic readonly ChatContext = new MenuId('ChatContext');\n\tstatic readonly ChatCodeBlock = new MenuId('ChatCodeblock');\n\tstatic readonly ChatCompareBlock = new MenuId('ChatCompareBlock');\n\tstatic readonly ChatMessageTitle = new MenuId('ChatMessageTitle');\n\tstatic readonly ChatHistory = new MenuId('ChatHistory');\n\tstatic readonly ChatWelcomeContext = new MenuId('ChatWelcomeContext');\n\tstatic readonly ChatMessageFooter = new MenuId('ChatMessageFooter');\n\tstatic readonly ChatExecute = new MenuId('ChatExecute');\n\tstatic readonly ChatInput = new MenuId('ChatInput');\n\tstatic readonly ChatInputSide = new MenuId('ChatInputSide');\n\tstatic readonly ChatModePicker = new MenuId('ChatModePicker');\n\tstatic readonly ChatEditingWidgetToolbar = new MenuId('ChatEditingWidgetToolbar');\n\tstatic readonly ChatEditingEditorContent = new MenuId('ChatEditingEditorContent');\n\tstatic readonly ChatEditingEditorHunk = new MenuId('ChatEditingEditorHunk');\n\tstatic readonly ChatEditingDeletedNotebookCell = new MenuId('ChatEditingDeletedNotebookCell');\n\tstatic readonly ChatInputAttachmentToolbar = new MenuId('ChatInputAttachmentToolbar');\n\tstatic readonly ChatEditingWidgetModifiedFilesToolbar = new MenuId('ChatEditingWidgetModifiedFilesToolbar');\n\tstatic readonly ChatInputResourceAttachmentContext = new MenuId('ChatInputResourceAttachmentContext');\n\tstatic readonly ChatInputSymbolAttachmentContext = new MenuId('ChatInputSymbolAttachmentContext');\n\tstatic readonly ChatInlineResourceAnchorContext = new MenuId('ChatInlineResourceAnchorContext');\n\tstatic readonly ChatInlineSymbolAnchorContext = new MenuId('ChatInlineSymbolAnchorContext');\n\tstatic readonly ChatMessageCheckpoint: MenuId = new MenuId('ChatMessageCheckpoint');\n\tstatic readonly ChatMessageRestoreCheckpoint: MenuId = new MenuId('ChatMessageRestoreCheckpoint');\n\tstatic readonly ChatNewMenu = new MenuId('ChatNewMenu');\n\tstatic readonly ChatEditingCodeBlockContext = new MenuId('ChatEditingCodeBlockContext');\n\tstatic readonly ChatTitleBarMenu = new MenuId('ChatTitleBarMenu');\n\tstatic readonly ChatAttachmentsContext = new MenuId('ChatAttachmentsContext');\n\tstatic readonly ChatToolOutputResourceToolbar = new MenuId('ChatToolOutputResourceToolbar');\n\tstatic readonly ChatTextEditorMenu = new MenuId('ChatTextEditorMenu');\n\tstatic readonly ChatToolOutputResourceContext = new MenuId('ChatToolOutputResourceContext');\n\tstatic readonly ChatMultiDiffContext = new MenuId('ChatMultiDiffContext');\n\tstatic readonly ChatSessionsMenu = new MenuId('ChatSessionsMenu');\n\tstatic readonly ChatSessionsCreateSubMenu = new MenuId('ChatSessionsCreateSubMenu');\n\tstatic readonly ChatConfirmationMenu = new MenuId('ChatConfirmationMenu');\n\tstatic readonly ChatEditorInlineExecute = new MenuId('ChatEditorInputExecute');\n\tstatic readonly ChatEditorInlineInputSide = new MenuId('ChatEditorInputSide');\n\tstatic readonly AccessibleView = new MenuId('AccessibleView');\n\tstatic readonly MultiDiffEditorFileToolbar = new MenuId('MultiDiffEditorFileToolbar');\n\tstatic readonly DiffEditorHunkToolbar = new MenuId('DiffEditorHunkToolbar');\n\tstatic readonly DiffEditorSelectionToolbar = new MenuId('DiffEditorSelectionToolbar');\n\n\treadonly id: string;\n\n\t/**\n\t * Create a new `MenuId` with the unique identifier. Will throw if a menu\n\t * with the identifier already exists, use `MenuId.for(ident)` or a unique\n\t * identifier\n\t */\n\tconstructor(identifier: string) {\n\t\tif (MenuId._instances.has(identifier)) {\n\t\t\tthrow new TypeError(`MenuId with identifier '${identifier}' already exists. Use MenuId.for(ident) or a unique identifier`);\n\t\t}\n\t\tMenuId._instances.set(identifier, this);\n\t\tthis.id = identifier;\n\t}\n}\n\nexport interface IMenuActionOptions {\n\targ?: unknown;\n\tshouldForwardArgs?: boolean;\n\trenderShortTitle?: boolean;\n}\n\nexport interface IMenuChangeEvent {\n\treadonly menu: IMenu;\n\treadonly isStructuralChange: boolean;\n\treadonly isToggleChange: boolean;\n\treadonly isEnablementChange: boolean;\n}\n\nexport interface IMenu extends IDisposable {\n\treadonly onDidChange: Event<IMenuChangeEvent>;\n\tgetActions(options?: IMenuActionOptions): [string, Array<MenuItemAction | SubmenuItemAction>][];\n}\n\nexport const IMenuService = createDecorator<IMenuService>('menuService');\n\nexport interface IMenuCreateOptions {\n\temitEventsForSubmenuChanges?: boolean;\n\teventDebounceDelay?: number;\n}\n\nexport interface IMenuService {\n\n\treadonly _serviceBrand: undefined;\n\n\t/**\n\t * Consider using getMenuActions if you don't need to listen to events.\n\t *\n\t * Create a new menu for the given menu identifier. A menu sends events when it's entries\n\t * have changed (placement, enablement, checked-state). By default it does not send events for\n\t * submenu entries. That is more expensive and must be explicitly enabled with the\n\t * `emitEventsForSubmenuChanges` flag.\n\t */\n\tcreateMenu(id: MenuId, contextKeyService: IContextKeyService, options?: IMenuCreateOptions): IMenu;\n\n\t/**\n\t * Creates a new menu, gets the actions, and then disposes of the menu.\n\t */\n\tgetMenuActions(id: MenuId, contextKeyService: IContextKeyService, options?: IMenuActionOptions): [string, Array<MenuItemAction | SubmenuItemAction>][];\n\n\t/**\n\t * Reset **all** menu item hidden states.\n\t */\n\tresetHiddenStates(): void;\n\n\t/**\n\t * Reset the menu's hidden states.\n\t */\n\tresetHiddenStates(menuIds: readonly MenuId[] | undefined): void;\n}\n\ntype ICommandsMap = Map<string, ICommandAction>;\n\nexport interface IMenuRegistryChangeEvent {\n\thas(id: MenuId): boolean;\n}\n\nclass MenuRegistryChangeEvent {\n\n\tprivate static _all = new Map<MenuId, MenuRegistryChangeEvent>();\n\n\tstatic for(id: MenuId): MenuRegistryChangeEvent {\n\t\tlet value = this._all.get(id);\n\t\tif (!value) {\n\t\t\tvalue = new MenuRegistryChangeEvent(id);\n\t\t\tthis._all.set(id, value);\n\t\t}\n\t\treturn value;\n\t}\n\n\tstatic merge(events: IMenuRegistryChangeEvent[]): IMenuRegistryChangeEvent {\n\t\tconst ids = new Set<MenuId>();\n\t\tfor (const item of events) {\n\t\t\tif (item instanceof MenuRegistryChangeEvent) {\n\t\t\t\tids.add(item.id);\n\t\t\t}\n\t\t}\n\t\treturn ids;\n\t}\n\n\treadonly has: (id: MenuId) => boolean;\n\n\tprivate constructor(private readonly id: MenuId) {\n\t\tthis.has = candidate => candidate === id;\n\t}\n}\n\nexport interface IMenuRegistry {\n\treadonly onDidChangeMenu: Event<IMenuRegistryChangeEvent>;\n\taddCommand(userCommand: ICommandAction): IDisposable;\n\tappendMenuItem(menu: MenuId, item: IMenuItem | ISubmenuItem): IDisposable;\n\tgetMenuItems(loc: MenuId): Array<IMenuItem | ISubmenuItem>;\n}\n\nexport const MenuRegistry: IMenuRegistry = new class implements IMenuRegistry {\n\n\tprivate readonly _commands = new Map<string, ICommandAction>();\n\tprivate readonly _menuItems = new Map<MenuId, LinkedList<IMenuItem | ISubmenuItem>>();\n\tprivate readonly _onDidChangeMenu = new MicrotaskEmitter<IMenuRegistryChangeEvent>({\n\t\tmerge: MenuRegistryChangeEvent.merge\n\t});\n\n\treadonly onDidChangeMenu: Event<IMenuRegistryChangeEvent> = this._onDidChangeMenu.event;\n\n\taddCommand(command: ICommandAction): IDisposable {\n\t\tthis._commands.set(command.id, command);\n\t\tthis._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(MenuId.CommandPalette));\n\n\t\treturn markAsSingleton(toDisposable(() => {\n\t\t\tif (this._commands.delete(command.id)) {\n\t\t\t\tthis._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(MenuId.CommandPalette));\n\t\t\t}\n\t\t}));\n\t}\n\n\tgetCommand(id: string): ICommandAction | undefined {\n\t\treturn this._commands.get(id);\n\t}\n\n\tgetCommands(): ICommandsMap {\n\t\tconst map = new Map<string, ICommandAction>();\n\t\tthis._commands.forEach((value, key) => map.set(key, value));\n\t\treturn map;\n\t}\n\n\tappendMenuItem(id: MenuId, item: IMenuItem | ISubmenuItem): IDisposable {\n\t\tlet list = this._menuItems.get(id);\n\t\tif (!list) {\n\t\t\tlist = new LinkedList();\n\t\t\tthis._menuItems.set(id, list);\n\t\t}\n\t\tconst rm = list.push(item);\n\t\tthis._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(id));\n\t\treturn markAsSingleton(toDisposable(() => {\n\t\t\trm();\n\t\t\tthis._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(id));\n\t\t}));\n\t}\n\n\tappendMenuItems(items: Iterable<{ id: MenuId; item: IMenuItem | ISubmenuItem }>): IDisposable {\n\t\tconst result = new DisposableStore();\n\t\tfor (const { id, item } of items) {\n\t\t\tresult.add(this.appendMenuItem(id, item));\n\t\t}\n\t\treturn result;\n\t}\n\n\tgetMenuItems(id: MenuId): Array<IMenuItem | ISubmenuItem> {\n\t\tlet result: Array<IMenuItem | ISubmenuItem>;\n\t\tif (this._menuItems.has(id)) {\n\t\t\tresult = [...this._menuItems.get(id)!];\n\t\t} else {\n\t\t\tresult = [];\n\t\t}\n\t\tif (id === MenuId.CommandPalette) {\n\t\t\t// CommandPalette is special because it shows\n\t\t\t// all commands by default\n\t\t\tthis._appendImplicitItems(result);\n\t\t}\n\t\treturn result;\n\t}\n\n\tprivate _appendImplicitItems(result: Array<IMenuItem | ISubmenuItem>) {\n\t\tconst set = new Set<string>();\n\n\t\tfor (const item of result) {\n\t\t\tif (isIMenuItem(item)) {\n\t\t\t\tset.add(item.command.id);\n\t\t\t\tif (item.alt) {\n\t\t\t\t\tset.add(item.alt.id);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis._commands.forEach((command, id) => {\n\t\t\tif (!set.has(id)) {\n\t\t\t\tresult.push({ command });\n\t\t\t}\n\t\t});\n\t}\n};\n\nexport class SubmenuItemAction extends SubmenuAction {\n\n\tconstructor(\n\t\treadonly item: ISubmenuItem,\n\t\treadonly hideActions: IMenuItemHide | undefined,\n\t\tactions: readonly IAction[],\n\t) {\n\t\tsuper(`submenuitem.${item.submenu.id}`, typeof item.title === 'string' ? item.title : item.title.value, actions, 'submenu');\n\t}\n}\n\nexport interface IMenuItemHide {\n\treadonly isHidden: boolean;\n\treadonly hide: IAction;\n\treadonly toggle: IAction;\n}\n\n// implements IAction, does NOT extend Action, so that no one\n// subscribes to events of Action or modified properties\nexport class MenuItemAction implements IAction {\n\n\tstatic label(action: ICommandAction, options?: IMenuActionOptions): string {\n\t\treturn options?.renderShortTitle && action.shortTitle\n\t\t\t? (typeof action.shortTitle === 'string' ? action.shortTitle : action.shortTitle.value)\n\t\t\t: (typeof action.title === 'string' ? action.title : action.title.value);\n\t}\n\n\treadonly item: ICommandAction;\n\treadonly alt: MenuItemAction | undefined;\n\n\tprivate readonly _options: IMenuActionOptions | undefined;\n\n\treadonly id: string;\n\treadonly label: string;\n\treadonly tooltip: string;\n\treadonly class: string | undefined;\n\treadonly enabled: boolean;\n\treadonly checked?: boolean;\n\n\tconstructor(\n\t\titem: ICommandAction,\n\t\talt: ICommandAction | undefined,\n\t\toptions: IMenuActionOptions | undefined,\n\t\treadonly hideActions: IMenuItemHide | undefined,\n\t\treadonly menuKeybinding: IAction | undefined,\n\t\t@IContextKeyService contextKeyService: IContextKeyService,\n\t\t@ICommandService private _commandService: ICommandService\n\t) {\n\t\tthis.id = item.id;\n\t\tthis.label = MenuItemAction.label(item, options);\n\t\tthis.tooltip = (typeof item.tooltip === 'string' ? item.tooltip : item.tooltip?.value) ?? '';\n\t\tthis.enabled = !item.precondition || contextKeyService.contextMatchesRules(item.precondition);\n\t\tthis.checked = undefined;\n\n\t\tlet icon: ThemeIcon | undefined;\n\n\t\tif (item.toggled) {\n\t\t\tconst toggled = ((item.toggled as { condition: ContextKeyExpression }).condition ? item.toggled : { condition: item.toggled }) as {\n\t\t\t\tcondition: ContextKeyExpression; icon?: Icon; tooltip?: string | ILocalizedString; title?: string | ILocalizedString;\n\t\t\t};\n\t\t\tthis.checked = contextKeyService.contextMatchesRules(toggled.condition);\n\t\t\tif (this.checked && toggled.tooltip) {\n\t\t\t\tthis.tooltip = typeof toggled.tooltip === 'string' ? toggled.tooltip : toggled.tooltip.value;\n\t\t\t}\n\n\t\t\tif (this.checked && ThemeIcon.isThemeIcon(toggled.icon)) {\n\t\t\t\ticon = toggled.icon;\n\t\t\t}\n\n\t\t\tif (this.checked && toggled.title) {\n\t\t\t\tthis.label = typeof toggled.title === 'string' ? toggled.title : toggled.title.value;\n\t\t\t}\n\t\t}\n\n\t\tif (!icon) {\n\t\t\ticon = ThemeIcon.isThemeIcon(item.icon) ? item.icon : undefined;\n\t\t}\n\n\t\tthis.item = item;\n\t\tthis.alt = alt ? new MenuItemAction(alt, undefined, options, hideActions, undefined, contextKeyService, _commandService) : undefined;\n\t\tthis._options = options;\n\t\tthis.class = icon && ThemeIcon.asClassName(icon);\n\n\t}\n\n\trun(...args: unknown[]): Promise<void> {\n\t\tlet runArgs: unknown[] = [];\n\n\t\tif (this._options?.arg) {\n\t\t\trunArgs = [...runArgs, this._options.arg];\n\t\t}\n\n\t\tif (this._options?.shouldForwardArgs) {\n\t\t\trunArgs = [...runArgs, ...args];\n\t\t}\n\n\t\treturn this._commandService.executeCommand(this.id, ...runArgs);\n\t}\n}\n\n//#region --- IAction2\n\ntype OneOrN<T> = T | T[];\n\ninterface IAction2CommonOptions extends ICommandAction {\n\t/**\n\t * One or many menu items.\n\t */\n\tmenu?: OneOrN<{ id: MenuId; precondition?: null } & Omit<IMenuItem, 'command'>>;\n\n\t/**\n\t * One keybinding.\n\t */\n\tkeybinding?: OneOrN<Omit<IKeybindingRule, 'id'>>;\n}\n\ninterface IBaseAction2Options extends IAction2CommonOptions {\n\n\t/**\n\t * This type is used when an action is not going to show up in the command palette.\n\t * In that case, it's able to use a string for the `title` and `category` properties.\n\t */\n\tf1?: false;\n}\n\nexport interface ICommandPaletteOptions extends IAction2CommonOptions {\n\n\t/**\n\t * The title of the command that will be displayed in the command palette after the category.\n\t * This overrides {@link ICommandAction.title} to ensure a string isn't used so that the title\n\t * includes the localized value and the original value for users using language packs.\n\t */\n\ttitle: ICommandActionTitle;\n\n\t/**\n\t * The category of the command that will be displayed in the command palette before the title suffixed.\n\t * with a colon This overrides {@link ICommandAction.title} to ensure a string isn't used so that\n\t * the title includes the localized value and the original value for users using language packs.\n\t */\n\tcategory?: keyof typeof Categories | ILocalizedString;\n\n\t/**\n\t * Shorthand to add this command to the command palette. Note: this is not the only way to declare that\n\t * a command should be in the command palette... however, enforcing ILocalizedString in the other scenarios\n\t * is much more challenging and this gets us most of the way there.\n\t */\n\tf1: true;\n}\n\nexport type IAction2Options = ICommandPaletteOptions | IBaseAction2Options;\n\nexport interface IAction2F1RequiredOptions {\n\ttitle: ICommandActionTitle;\n}\n\nexport abstract class Action2 {\n\tconstructor(readonly desc: Readonly<IAction2Options>) { }\n\tabstract run(accessor: ServicesAccessor, ...args: unknown[]): void;\n}\n\nexport function registerAction2(ctor: { new(): Action2 }): IDisposable {\n\tconst disposables: IDisposable[] = []; // not using `DisposableStore` to reduce startup perf cost\n\tconst action = new ctor();\n\n\tconst { f1, menu, keybinding, ...command } = action.desc;\n\n\tif (CommandsRegistry.getCommand(command.id)) {\n\t\tthrow new Error(`Cannot register two commands with the same id: ${command.id}`);\n\t}\n\n\t// command\n\tdisposables.push(CommandsRegistry.registerCommand({\n\t\tid: command.id,\n\t\thandler: (accessor, ...args) => action.run(accessor, ...args),\n\t\tmetadata: command.metadata ?? { description: action.desc.title }\n\t}));\n\n\t// menu\n\tif (Array.isArray(menu)) {\n\t\tfor (const item of menu) {\n\t\t\tdisposables.push(MenuRegistry.appendMenuItem(item.id, { command: { ...command, precondition: item.precondition === null ? undefined : command.precondition }, ...item }));\n\t\t}\n\n\t} else if (menu) {\n\t\tdisposables.push(MenuRegistry.appendMenuItem(menu.id, { command: { ...command, precondition: menu.precondition === null ? undefined : command.precondition }, ...menu }));\n\t}\n\tif (f1) {\n\t\tdisposables.push(MenuRegistry.appendMenuItem(MenuId.CommandPalette, { command, when: command.precondition }));\n\t\tdisposables.push(MenuRegistry.addCommand(command));\n\t}\n\n\t// keybinding\n\tif (Array.isArray(keybinding)) {\n\t\tfor (const item of keybinding) {\n\t\t\tdisposables.push(KeybindingsRegistry.registerKeybindingRule({\n\t\t\t\t...item,\n\t\t\t\tid: command.id,\n\t\t\t\twhen: command.precondition ? ContextKeyExpr.and(command.precondition, item.when) : item.when\n\t\t\t}));\n\t\t}\n\t} else if (keybinding) {\n\t\tdisposables.push(KeybindingsRegistry.registerKeybindingRule({\n\t\t\t...keybinding,\n\t\t\tid: command.id,\n\t\t\twhen: command.precondition ? ContextKeyExpr.and(command.precondition, keybinding.when) : keybinding.when\n\t\t}));\n\t}\n\n\treturn {\n\t\tdispose() {\n\t\t\tdispose(disposables);\n\t\t}\n\t};\n}\n//#endregion\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { IAction, SubmenuAction } from '../../../base/common/actions.js';\nimport { Event, MicrotaskEmitter } from '../../../base/common/event.js';\nimport { DisposableStore, dispose, IDisposable, markAsSingleton, toDisposable } from '../../../base/common/lifecycle.js';\nimport { LinkedList } from '../../../base/common/linkedList.js';\nimport { ThemeIcon } from '../../../base/common/themables.js';\nimport { ICommandAction, ICommandActionTitle, Icon, ILocalizedString } from '../../action/common/action.js';\nimport { Categories } from '../../action/common/actionCommonCategories.js';\nimport { CommandsRegistry, ICommandService } from '../../commands/common/commands.js';\nimport { ContextKeyExpr, ContextKeyExpression, IContextKeyService } from '../../contextkey/common/contextkey.js';\nimport { createDecorator, ServicesAccessor } from '../../instantiation/common/instantiation.js';\nimport { IKeybindingRule, KeybindingsRegistry } from '../../keybinding/common/keybindingsRegistry.js';\n\nexport interface IMenuItem {\n\tcommand: ICommandAction;\n\talt?: ICommandAction;\n\t/**\n\t * Menu item is hidden if this expression returns false.\n\t */\n\twhen?: ContextKeyExpression;\n\tgroup?: 'navigation' | string;\n\torder?: number;\n\tisHiddenByDefault?: boolean;\n}\n\nexport interface ISubmenuItem {\n\ttitle: string | ICommandActionTitle;\n\tsubmenu: MenuId;\n\ticon?: Icon;\n\twhen?: ContextKeyExpression;\n\tgroup?: 'navigation' | string;\n\torder?: number;\n\tisSelection?: boolean;\n\t/**\n\t * A split button shows the first action\n\t * as primary action and the rest of the\n\t * actions in a dropdown.\n\t *\n\t * Use `togglePrimaryAction` to promote\n\t * the action that was last used to be\n\t * the primary action and remember that\n\t * choice.\n\t */\n\tisSplitButton?: boolean | {\n\t\t/**\n\t\t * Will update the primary action based\n\t\t * on the action that was last run.\n\t\t */\n\t\ttogglePrimaryAction: true;\n\t};\n}\n\nexport function isIMenuItem(item: unknown): item is IMenuItem {\n\treturn (item as IMenuItem).command !== undefined;\n}\n\nexport function isISubmenuItem(item: unknown): item is ISubmenuItem {\n\treturn (item as ISubmenuItem).submenu !== undefined;\n}\n\nexport class MenuId {\n\n\tprivate static readonly _instances = new Map<string, MenuId>();\n\n\tstatic readonly CommandPalette = new MenuId('CommandPalette');\n\tstatic readonly DebugBreakpointsContext = new MenuId('DebugBreakpointsContext');\n\tstatic readonly DebugCallStackContext = new MenuId('DebugCallStackContext');\n\tstatic readonly DebugConsoleContext = new MenuId('DebugConsoleContext');\n\tstatic readonly DebugVariablesContext = new MenuId('DebugVariablesContext');\n\tstatic readonly NotebookVariablesContext = new MenuId('NotebookVariablesContext');\n\tstatic readonly DebugHoverContext = new MenuId('DebugHoverContext');\n\tstatic readonly DebugWatchContext = new MenuId('DebugWatchContext');\n\tstatic readonly DebugToolBar = new MenuId('DebugToolBar');\n\tstatic readonly DebugToolBarStop = new MenuId('DebugToolBarStop');\n\tstatic readonly DebugDisassemblyContext = new MenuId('DebugDisassemblyContext');\n\tstatic readonly DebugCallStackToolbar = new MenuId('DebugCallStackToolbar');\n\tstatic readonly DebugCreateConfiguration = new MenuId('DebugCreateConfiguration');\n\tstatic readonly EditorContext = new MenuId('EditorContext');\n\tstatic readonly SimpleEditorContext = new MenuId('SimpleEditorContext');\n\tstatic readonly EditorContent = new MenuId('EditorContent');\n\tstatic readonly EditorLineNumberContext = new MenuId('EditorLineNumberContext');\n\tstatic readonly EditorContextCopy = new MenuId('EditorContextCopy');\n\tstatic readonly EditorContextPeek = new MenuId('EditorContextPeek');\n\tstatic readonly EditorContextShare = new MenuId('EditorContextShare');\n\tstatic readonly EditorTitle = new MenuId('EditorTitle');\n\tstatic readonly CompactWindowEditorTitle = new MenuId('CompactWindowEditorTitle');\n\tstatic readonly EditorTitleRun = new MenuId('EditorTitleRun');\n\tstatic readonly EditorTitleContext = new MenuId('EditorTitleContext');\n\tstatic readonly EditorTitleContextShare = new MenuId('EditorTitleContextShare');\n\tstatic readonly EmptyEditorGroup = new MenuId('EmptyEditorGroup');\n\tstatic readonly EmptyEditorGroupContext = new MenuId('EmptyEditorGroupContext');\n\tstatic readonly EditorTabsBarContext = new MenuId('EditorTabsBarContext');\n\tstatic readonly EditorTabsBarShowTabsSubmenu = new MenuId('EditorTabsBarShowTabsSubmenu');\n\tstatic readonly EditorTabsBarShowTabsZenModeSubmenu = new MenuId('EditorTabsBarShowTabsZenModeSubmenu');\n\tstatic readonly EditorActionsPositionSubmenu = new MenuId('EditorActionsPositionSubmenu');\n\tstatic readonly EditorSplitMoveSubmenu = new MenuId('EditorSplitMoveSubmenu');\n\tstatic readonly ExplorerContext = new MenuId('ExplorerContext');\n\tstatic readonly ExplorerContextShare = new MenuId('ExplorerContextShare');\n\tstatic readonly ExtensionContext = new MenuId('ExtensionContext');\n\tstatic readonly ExtensionEditorContextMenu = new MenuId('ExtensionEditorContextMenu');\n\tstatic readonly GlobalActivity = new MenuId('GlobalActivity');\n\tstatic readonly CommandCenter = new MenuId('CommandCenter');\n\tstatic readonly CommandCenterCenter = new MenuId('CommandCenterCenter');\n\tstatic readonly LayoutControlMenuSubmenu = new MenuId('LayoutControlMenuSubmenu');\n\tstatic readonly LayoutControlMenu = new MenuId('LayoutControlMenu');\n\tstatic readonly MenubarMainMenu = new MenuId('MenubarMainMenu');\n\tstatic readonly MenubarAppearanceMenu = new MenuId('MenubarAppearanceMenu');\n\tstatic readonly MenubarDebugMenu = new MenuId('MenubarDebugMenu');\n\tstatic readonly MenubarEditMenu = new MenuId('MenubarEditMenu');\n\tstatic readonly MenubarCopy = new MenuId('MenubarCopy');\n\tstatic readonly MenubarFileMenu = new MenuId('MenubarFileMenu');\n\tstatic readonly MenubarGoMenu = new MenuId('MenubarGoMenu');\n\tstatic readonly MenubarHelpMenu = new MenuId('MenubarHelpMenu');\n\tstatic readonly MenubarLayoutMenu = new MenuId('MenubarLayoutMenu');\n\tstatic readonly MenubarNewBreakpointMenu = new MenuId('MenubarNewBreakpointMenu');\n\tstatic readonly PanelAlignmentMenu = new MenuId('PanelAlignmentMenu');\n\tstatic readonly PanelPositionMenu = new MenuId('PanelPositionMenu');\n\tstatic readonly ActivityBarPositionMenu = new MenuId('ActivityBarPositionMenu');\n\tstatic readonly MenubarPreferencesMenu = new MenuId('MenubarPreferencesMenu');\n\tstatic readonly MenubarRecentMenu = new MenuId('MenubarRecentMenu');\n\tstatic readonly MenubarSelectionMenu = new MenuId('MenubarSelectionMenu');\n\tstatic readonly MenubarShare = new MenuId('MenubarShare');\n\tstatic readonly MenubarSwitchEditorMenu = new MenuId('MenubarSwitchEditorMenu');\n\tstatic readonly MenubarSwitchGroupMenu = new MenuId('MenubarSwitchGroupMenu');\n\tstatic readonly MenubarTerminalMenu = new MenuId('MenubarTerminalMenu');\n\tstatic readonly MenubarTerminalSuggestStatusMenu = new MenuId('MenubarTerminalSuggestStatusMenu');\n\tstatic readonly MenubarViewMenu = new MenuId('MenubarViewMenu');\n\tstatic readonly MenubarHomeMenu = new MenuId('MenubarHomeMenu');\n\tstatic readonly OpenEditorsContext = new MenuId('OpenEditorsContext');\n\tstatic readonly OpenEditorsContextShare = new MenuId('OpenEditorsContextShare');\n\tstatic readonly ProblemsPanelContext = new MenuId('ProblemsPanelContext');\n\tstatic readonly SCMInputBox = new MenuId('SCMInputBox');\n\tstatic readonly SCMChangeContext = new MenuId('SCMChangeContext');\n\tstatic readonly SCMResourceContext = new MenuId('SCMResourceContext');\n\tstatic readonly SCMResourceContextShare = new MenuId('SCMResourceContextShare');\n\tstatic readonly SCMResourceFolderContext = new MenuId('SCMResourceFolderContext');\n\tstatic readonly SCMResourceGroupContext = new MenuId('SCMResourceGroupContext');\n\tstatic readonly SCMSourceControl = new MenuId('SCMSourceControl');\n\tstatic readonly SCMSourceControlInline = new MenuId('SCMSourceControlInline');\n\tstatic readonly SCMSourceControlTitle = new MenuId('SCMSourceControlTitle');\n\tstatic readonly SCMHistoryTitle = new MenuId('SCMHistoryTitle');\n\tstatic readonly SCMHistoryItemContext = new MenuId('SCMHistoryItemContext');\n\tstatic readonly SCMHistoryItemChangeContext = new MenuId('SCMHistoryItemChangeContext');\n\tstatic readonly SCMHistoryItemRefContext = new MenuId('SCMHistoryItemRefContext');\n\tstatic readonly SCMArtifactGroupContext = new MenuId('SCMArtifactGroupContext');\n\tstatic readonly SCMArtifactContext = new MenuId('SCMArtifactContext');\n\tstatic readonly SCMQuickDiffDecorations = new MenuId('SCMQuickDiffDecorations');\n\tstatic readonly SCMTitle = new MenuId('SCMTitle');\n\tstatic readonly SearchContext = new MenuId('SearchContext');\n\tstatic readonly SearchActionMenu = new MenuId('SearchActionContext');\n\tstatic readonly StatusBarWindowIndicatorMenu = new MenuId('StatusBarWindowIndicatorMenu');\n\tstatic readonly StatusBarRemoteIndicatorMenu = new MenuId('StatusBarRemoteIndicatorMenu');\n\tstatic readonly StickyScrollContext = new MenuId('StickyScrollContext');\n\tstatic readonly TestItem = new MenuId('TestItem');\n\tstatic readonly TestItemGutter = new MenuId('TestItemGutter');\n\tstatic readonly TestProfilesContext = new MenuId('TestProfilesContext');\n\tstatic readonly TestMessageContext = new MenuId('TestMessageContext');\n\tstatic readonly TestMessageContent = new MenuId('TestMessageContent');\n\tstatic readonly TestPeekElement = new MenuId('TestPeekElement');\n\tstatic readonly TestPeekTitle = new MenuId('TestPeekTitle');\n\tstatic readonly TestCallStack = new MenuId('TestCallStack');\n\tstatic readonly TestCoverageFilterItem = new MenuId('TestCoverageFilterItem');\n\tstatic readonly TouchBarContext = new MenuId('TouchBarContext');\n\tstatic readonly TitleBar = new MenuId('TitleBar');\n\tstatic readonly TitleBarContext = new MenuId('TitleBarContext');\n\tstatic readonly TitleBarTitleContext = new MenuId('TitleBarTitleContext');\n\tstatic readonly TunnelContext = new MenuId('TunnelContext');\n\tstatic readonly TunnelPrivacy = new MenuId('TunnelPrivacy');\n\tstatic readonly TunnelProtocol = new MenuId('TunnelProtocol');\n\tstatic readonly TunnelPortInline = new MenuId('TunnelInline');\n\tstatic readonly TunnelTitle = new MenuId('TunnelTitle');\n\tstatic readonly TunnelLocalAddressInline = new MenuId('TunnelLocalAddressInline');\n\tstatic readonly TunnelOriginInline = new MenuId('TunnelOriginInline');\n\tstatic readonly ViewItemContext = new MenuId('ViewItemContext');\n\tstatic readonly ViewContainerTitle = new MenuId('ViewContainerTitle');\n\tstatic readonly ViewContainerTitleContext = new MenuId('ViewContainerTitleContext');\n\tstatic readonly ViewTitle = new MenuId('ViewTitle');\n\tstatic readonly ViewTitleContext = new MenuId('ViewTitleContext');\n\tstatic readonly CommentEditorActions = new MenuId('CommentEditorActions');\n\tstatic readonly CommentThreadTitle = new MenuId('CommentThreadTitle');\n\tstatic readonly CommentThreadActions = new MenuId('CommentThreadActions');\n\tstatic readonly CommentThreadAdditionalActions = new MenuId('CommentThreadAdditionalActions');\n\tstatic readonly CommentThreadTitleContext = new MenuId('CommentThreadTitleContext');\n\tstatic readonly CommentThreadCommentContext = new MenuId('CommentThreadCommentContext');\n\tstatic readonly CommentTitle = new MenuId('CommentTitle');\n\tstatic readonly CommentActions = new MenuId('CommentActions');\n\tstatic readonly CommentsViewThreadActions = new MenuId('CommentsViewThreadActions');\n\tstatic readonly InteractiveToolbar = new MenuId('InteractiveToolbar');\n\tstatic readonly InteractiveCellTitle = new MenuId('InteractiveCellTitle');\n\tstatic readonly InteractiveCellDelete = new MenuId('InteractiveCellDelete');\n\tstatic readonly InteractiveCellExecute = new MenuId('InteractiveCellExecute');\n\tstatic readonly InteractiveInputExecute = new MenuId('InteractiveInputExecute');\n\tstatic readonly InteractiveInputConfig = new MenuId('InteractiveInputConfig');\n\tstatic readonly ReplInputExecute = new MenuId('ReplInputExecute');\n\tstatic readonly IssueReporter = new MenuId('IssueReporter');\n\tstatic readonly NotebookToolbar = new MenuId('NotebookToolbar');\n\tstatic readonly NotebookToolbarContext = new MenuId('NotebookToolbarContext');\n\tstatic readonly NotebookStickyScrollContext = new MenuId('NotebookStickyScrollContext');\n\tstatic readonly NotebookCellTitle = new MenuId('NotebookCellTitle');\n\tstatic readonly NotebookCellDelete = new MenuId('NotebookCellDelete');\n\tstatic readonly NotebookCellInsert = new MenuId('NotebookCellInsert');\n\tstatic readonly NotebookCellBetween = new MenuId('NotebookCellBetween');\n\tstatic readonly NotebookCellListTop = new MenuId('NotebookCellTop');\n\tstatic readonly NotebookCellExecute = new MenuId('NotebookCellExecute');\n\tstatic readonly NotebookCellExecuteGoTo = new MenuId('NotebookCellExecuteGoTo');\n\tstatic readonly NotebookCellExecutePrimary = new MenuId('NotebookCellExecutePrimary');\n\tstatic readonly NotebookDiffCellInputTitle = new MenuId('NotebookDiffCellInputTitle');\n\tstatic readonly NotebookDiffDocumentMetadata = new MenuId('NotebookDiffDocumentMetadata');\n\tstatic readonly NotebookDiffCellMetadataTitle = new MenuId('NotebookDiffCellMetadataTitle');\n\tstatic readonly NotebookDiffCellOutputsTitle = new MenuId('NotebookDiffCellOutputsTitle');\n\tstatic readonly NotebookOutputToolbar = new MenuId('NotebookOutputToolbar');\n\tstatic readonly NotebookOutlineFilter = new MenuId('NotebookOutlineFilter');\n\tstatic readonly NotebookOutlineActionMenu = new MenuId('NotebookOutlineActionMenu');\n\tstatic readonly NotebookEditorLayoutConfigure = new MenuId('NotebookEditorLayoutConfigure');\n\tstatic readonly NotebookKernelSource = new MenuId('NotebookKernelSource');\n\tstatic readonly BulkEditTitle = new MenuId('BulkEditTitle');\n\tstatic readonly BulkEditContext = new MenuId('BulkEditContext');\n\tstatic readonly TimelineItemContext = new MenuId('TimelineItemContext');\n\tstatic readonly TimelineTitle = new MenuId('TimelineTitle');\n\tstatic readonly TimelineTitleContext = new MenuId('TimelineTitleContext');\n\tstatic readonly TimelineFilterSubMenu = new MenuId('TimelineFilterSubMenu');\n\tstatic readonly AgentSessionsTitle = new MenuId('AgentSessionsTitle');\n\tstatic readonly AgentSessionsFilterSubMenu = new MenuId('AgentSessionsFilterSubMenu');\n\tstatic readonly AccountsContext = new MenuId('AccountsContext');\n\tstatic readonly SidebarTitle = new MenuId('SidebarTitle');\n\tstatic readonly PanelTitle = new MenuId('PanelTitle');\n\tstatic readonly AuxiliaryBarTitle = new MenuId('AuxiliaryBarTitle');\n\tstatic readonly TerminalInstanceContext = new MenuId('TerminalInstanceContext');\n\tstatic readonly TerminalEditorInstanceContext = new MenuId('TerminalEditorInstanceContext');\n\tstatic readonly TerminalNewDropdownContext = new MenuId('TerminalNewDropdownContext');\n\tstatic readonly TerminalTabContext = new MenuId('TerminalTabContext');\n\tstatic readonly TerminalTabEmptyAreaContext = new MenuId('TerminalTabEmptyAreaContext');\n\tstatic readonly TerminalStickyScrollContext = new MenuId('TerminalStickyScrollContext');\n\tstatic readonly WebviewContext = new MenuId('WebviewContext');\n\tstatic readonly InlineCompletionsActions = new MenuId('InlineCompletionsActions');\n\tstatic readonly InlineEditsActions = new MenuId('InlineEditsActions');\n\tstatic readonly NewFile = new MenuId('NewFile');\n\tstatic readonly MergeInput1Toolbar = new MenuId('MergeToolbar1Toolbar');\n\tstatic readonly MergeInput2Toolbar = new MenuId('MergeToolbar2Toolbar');\n\tstatic readonly MergeBaseToolbar = new MenuId('MergeBaseToolbar');\n\tstatic readonly MergeInputResultToolbar = new MenuId('MergeToolbarResultToolbar');\n\tstatic readonly InlineSuggestionToolbar = new MenuId('InlineSuggestionToolbar');\n\tstatic readonly InlineEditToolbar = new MenuId('InlineEditToolbar');\n\tstatic readonly ChatContext = new MenuId('ChatContext');\n\tstatic readonly ChatCodeBlock = new MenuId('ChatCodeblock');\n\tstatic readonly ChatCompareBlock = new MenuId('ChatCompareBlock');\n\tstatic readonly ChatMessageTitle = new MenuId('ChatMessageTitle');\n\tstatic readonly ChatHistory = new MenuId('ChatHistory');\n\tstatic readonly ChatWelcomeContext = new MenuId('ChatWelcomeContext');\n\tstatic readonly ChatMessageFooter = new MenuId('ChatMessageFooter');\n\tstatic readonly ChatExecute = new MenuId('ChatExecute');\n\tstatic readonly ChatInput = new MenuId('ChatInput');\n\tstatic readonly ChatInputSide = new MenuId('ChatInputSide');\n\tstatic readonly ChatModePicker = new MenuId('ChatModePicker');\n\tstatic readonly ChatEditingWidgetToolbar = new MenuId('ChatEditingWidgetToolbar');\n\tstatic readonly ChatEditingEditorContent = new MenuId('ChatEditingEditorContent');\n\tstatic readonly ChatEditingEditorHunk = new MenuId('ChatEditingEditorHunk');\n\tstatic readonly ChatEditingDeletedNotebookCell = new MenuId('ChatEditingDeletedNotebookCell');\n\tstatic readonly ChatInputAttachmentToolbar = new MenuId('ChatInputAttachmentToolbar');\n\tstatic readonly ChatEditingWidgetModifiedFilesToolbar = new MenuId('ChatEditingWidgetModifiedFilesToolbar');\n\tstatic readonly ChatInputResourceAttachmentContext = new MenuId('ChatInputResourceAttachmentContext');\n\tstatic readonly ChatInputSymbolAttachmentContext = new MenuId('ChatInputSymbolAttachmentContext');\n\tstatic readonly ChatInlineResourceAnchorContext = new MenuId('ChatInlineResourceAnchorContext');\n\tstatic readonly ChatInlineSymbolAnchorContext = new MenuId('ChatInlineSymbolAnchorContext');\n\tstatic readonly ChatMessageCheckpoint: MenuId = new MenuId('ChatMessageCheckpoint');\n\tstatic readonly ChatMessageRestoreCheckpoint: MenuId = new MenuId('ChatMessageRestoreCheckpoint');\n\tstatic readonly ChatNewMenu = new MenuId('ChatNewMenu');\n\tstatic readonly ChatEditingCodeBlockContext = new MenuId('ChatEditingCodeBlockContext');\n\tstatic readonly ChatTitleBarMenu = new MenuId('ChatTitleBarMenu');\n\tstatic readonly ChatAttachmentsContext = new MenuId('ChatAttachmentsContext');\n\tstatic readonly ChatToolOutputResourceToolbar = new MenuId('ChatToolOutputResourceToolbar');\n\tstatic readonly ChatTextEditorMenu = new MenuId('ChatTextEditorMenu');\n\tstatic readonly ChatToolOutputResourceContext = new MenuId('ChatToolOutputResourceContext');\n\tstatic readonly ChatMultiDiffContext = new MenuId('ChatMultiDiffContext');\n\tstatic readonly ChatSessionsMenu = new MenuId('ChatSessionsMenu');\n\tstatic readonly ChatSessionsCreateSubMenu = new MenuId('ChatSessionsCreateSubMenu');\n\tstatic readonly ChatConfirmationMenu = new MenuId('ChatConfirmationMenu');\n\tstatic readonly ChatEditorInlineExecute = new MenuId('ChatEditorInputExecute');\n\tstatic readonly ChatEditorInlineInputSide = new MenuId('ChatEditorInputSide');\n\tstatic readonly AccessibleView = new MenuId('AccessibleView');\n\tstatic readonly MultiDiffEditorFileToolbar = new MenuId('MultiDiffEditorFileToolbar');\n\tstatic readonly DiffEditorHunkToolbar = new MenuId('DiffEditorHunkToolbar');\n\tstatic readonly DiffEditorSelectionToolbar = new MenuId('DiffEditorSelectionToolbar');\n\n\treadonly id: string;\n\n\t/**\n\t * Create a new `MenuId` with the unique identifier. Will throw if a menu\n\t * with the identifier already exists, use `MenuId.for(ident)` or a unique\n\t * identifier\n\t */\n\tconstructor(identifier: string) {\n\t\tif (MenuId._instances.has(identifier)) {\n\t\t\tthrow new TypeError(`MenuId with identifier '${identifier}' already exists. Use MenuId.for(ident) or a unique identifier`);\n\t\t}\n\t\tMenuId._instances.set(identifier, this);\n\t\tthis.id = identifier;\n\t}\n}\n\nexport interface IMenuActionOptions {\n\targ?: unknown;\n\tshouldForwardArgs?: boolean;\n\trenderShortTitle?: boolean;\n}\n\nexport interface IMenuChangeEvent {\n\treadonly menu: IMenu;\n\treadonly isStructuralChange: boolean;\n\treadonly isToggleChange: boolean;\n\treadonly isEnablementChange: boolean;\n}\n\nexport interface IMenu extends IDisposable {\n\treadonly onDidChange: Event<IMenuChangeEvent>;\n\tgetActions(options?: IMenuActionOptions): [string, Array<MenuItemAction | SubmenuItemAction>][];\n}\n\nexport const IMenuService = createDecorator<IMenuService>('menuService');\n\nexport interface IMenuCreateOptions {\n\temitEventsForSubmenuChanges?: boolean;\n\teventDebounceDelay?: number;\n}\n\nexport interface IMenuService {\n\n\treadonly _serviceBrand: undefined;\n\n\t/**\n\t * Consider using getMenuActions if you don't need to listen to events.\n\t *\n\t * Create a new menu for the given menu identifier. A menu sends events when it's entries\n\t * have changed (placement, enablement, checked-state). By default it does not send events for\n\t * submenu entries. That is more expensive and must be explicitly enabled with the\n\t * `emitEventsForSubmenuChanges` flag.\n\t */\n\tcreateMenu(id: MenuId, contextKeyService: IContextKeyService, options?: IMenuCreateOptions): IMenu;\n\n\t/**\n\t * Creates a new menu, gets the actions, and then disposes of the menu.\n\t */\n\tgetMenuActions(id: MenuId, contextKeyService: IContextKeyService, options?: IMenuActionOptions): [string, Array<MenuItemAction | SubmenuItemAction>][];\n\n\t/**\n\t * Reset **all** menu item hidden states.\n\t */\n\tresetHiddenStates(): void;\n\n\t/**\n\t * Reset the menu's hidden states.\n\t */\n\tresetHiddenStates(menuIds: readonly MenuId[] | undefined): void;\n}\n\ntype ICommandsMap = Map<string, ICommandAction>;\n\nexport interface IMenuRegistryChangeEvent {\n\thas(id: MenuId): boolean;\n}\n\nclass MenuRegistryChangeEvent {\n\n\tprivate static _all = new Map<MenuId, MenuRegistryChangeEvent>();\n\n\tstatic for(id: MenuId): MenuRegistryChangeEvent {\n\t\tlet value = this._all.get(id);\n\t\tif (!value) {\n\t\t\tvalue = new MenuRegistryChangeEvent(id);\n\t\t\tthis._all.set(id, value);\n\t\t}\n\t\treturn value;\n\t}\n\n\tstatic merge(events: IMenuRegistryChangeEvent[]): IMenuRegistryChangeEvent {\n\t\tconst ids = new Set<MenuId>();\n\t\tfor (const item of events) {\n\t\t\tif (item instanceof MenuRegistryChangeEvent) {\n\t\t\t\tids.add(item.id);\n\t\t\t}\n\t\t}\n\t\treturn ids;\n\t}\n\n\treadonly has: (id: MenuId) => boolean;\n\n\tprivate constructor(private readonly id: MenuId) {\n\t\tthis.has = candidate => candidate === id;\n\t}\n}\n\nexport interface IMenuRegistry {\n\treadonly onDidChangeMenu: Event<IMenuRegistryChangeEvent>;\n\taddCommand(userCommand: ICommandAction): IDisposable;\n\tappendMenuItem(menu: MenuId, item: IMenuItem | ISubmenuItem): IDisposable;\n\tgetMenuItems(loc: MenuId): Array<IMenuItem | ISubmenuItem>;\n}\n\nexport const MenuRegistry: IMenuRegistry = new class implements IMenuRegistry {\n\n\tprivate readonly _commands = new Map<string, ICommandAction>();\n\tprivate readonly _menuItems = new Map<MenuId, LinkedList<IMenuItem | ISubmenuItem>>();\n\tprivate readonly _onDidChangeMenu = new MicrotaskEmitter<IMenuRegistryChangeEvent>({\n\t\tmerge: MenuRegistryChangeEvent.merge\n\t});\n\n\treadonly onDidChangeMenu: Event<IMenuRegistryChangeEvent> = this._onDidChangeMenu.event;\n\n\taddCommand(command: ICommandAction): IDisposable {\n\t\tthis._commands.set(command.id, command);\n\t\tthis._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(MenuId.CommandPalette));\n\n\t\treturn markAsSingleton(toDisposable(() => {\n\t\t\tif (this._commands.delete(command.id)) {\n\t\t\t\tthis._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(MenuId.CommandPalette));\n\t\t\t}\n\t\t}));\n\t}\n\n\tgetCommand(id: string): ICommandAction | undefined {\n\t\treturn this._commands.get(id);\n\t}\n\n\tgetCommands(): ICommandsMap {\n\t\tconst map = new Map<string, ICommandAction>();\n\t\tthis._commands.forEach((value, key) => map.set(key, value));\n\t\treturn map;\n\t}\n\n\tappendMenuItem(id: MenuId, item: IMenuItem | ISubmenuItem): IDisposable {\n\t\tlet list = this._menuItems.get(id);\n\t\tif (!list) {\n\t\t\tlist = new LinkedList();\n\t\t\tthis._menuItems.set(id, list);\n\t\t}\n\t\tconst rm = list.push(item);\n\t\tthis._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(id));\n\t\treturn markAsSingleton(toDisposable(() => {\n\t\t\trm();\n\t\t\tthis._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(id));\n\t\t}));\n\t}\n\n\tappendMenuItems(items: Iterable<{ id: MenuId; item: IMenuItem | ISubmenuItem }>): IDisposable {\n\t\tconst result = new DisposableStore();\n\t\tfor (const { id, item } of items) {\n\t\t\tresult.add(this.appendMenuItem(id, item));\n\t\t}\n\t\treturn result;\n\t}\n\n\tgetMenuItems(id: MenuId): Array<IMenuItem | ISubmenuItem> {\n\t\tlet result: Array<IMenuItem | ISubmenuItem>;\n\t\tif (this._menuItems.has(id)) {\n\t\t\tresult = [...this._menuItems.get(id)!];\n\t\t} else {\n\t\t\tresult = [];\n\t\t}\n\t\tif (id === MenuId.CommandPalette) {\n\t\t\t// CommandPalette is special because it shows\n\t\t\t// all commands by default\n\t\t\tthis._appendImplicitItems(result);\n\t\t}\n\t\treturn result;\n\t}\n\n\tprivate _appendImplicitItems(result: Array<IMenuItem | ISubmenuItem>) {\n\t\tconst set = new Set<string>();\n\n\t\tfor (const item of result) {\n\t\t\tif (isIMenuItem(item)) {\n\t\t\t\tset.add(item.command.id);\n\t\t\t\tif (item.alt) {\n\t\t\t\t\tset.add(item.alt.id);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis._commands.forEach((command, id) => {\n\t\t\tif (!set.has(id)) {\n\t\t\t\tresult.push({ command });\n\t\t\t}\n\t\t});\n\t}\n};\n\nexport class SubmenuItemAction extends SubmenuAction {\n\n\tconstructor(\n\t\treadonly item: ISubmenuItem,\n\t\treadonly hideActions: IMenuItemHide | undefined,\n\t\tactions: readonly IAction[],\n\t) {\n\t\tsuper(`submenuitem.${item.submenu.id}`, typeof item.title === 'string' ? item.title : item.title.value, actions, 'submenu');\n\t}\n}\n\nexport interface IMenuItemHide {\n\treadonly isHidden: boolean;\n\treadonly hide: IAction;\n\treadonly toggle: IAction;\n}\n\n// implements IAction, does NOT extend Action, so that no one\n// subscribes to events of Action or modified properties\nexport class MenuItemAction implements IAction {\n\n\tstatic label(action: ICommandAction, options?: IMenuActionOptions): string {\n\t\treturn options?.renderShortTitle && action.shortTitle\n\t\t\t? (typeof action.shortTitle === 'string' ? action.shortTitle : action.shortTitle.value)\n\t\t\t: (typeof action.title === 'string' ? action.title : action.title.value);\n\t}\n\n\treadonly item: ICommandAction;\n\treadonly alt: MenuItemAction | undefined;\n\n\tprivate readonly _options: IMenuActionOptions | undefined;\n\n\treadonly id: string;\n\treadonly label: string;\n\treadonly tooltip: string;\n\treadonly class: string | undefined;\n\treadonly enabled: boolean;\n\treadonly checked?: boolean;\n\n\tconstructor(\n\t\titem: ICommandAction,\n\t\talt: ICommandAction | undefined,\n\t\toptions: IMenuActionOptions | undefined,\n\t\treadonly hideActions: IMenuItemHide | undefined,\n\t\treadonly menuKeybinding: IAction | undefined,\n\t\t@IContextKeyService contextKeyService: IContextKeyService,\n\t\t@ICommandService private _commandService: ICommandService\n\t) {\n\t\tthis.id = item.id;\n\t\tthis.label = MenuItemAction.label(item, options);\n\t\tthis.tooltip = (typeof item.tooltip === 'string' ? item.tooltip : item.tooltip?.value) ?? '';\n\t\tthis.enabled = !item.precondition || contextKeyService.contextMatchesRules(item.precondition);\n\t\tthis.checked = undefined;\n\n\t\tlet icon: ThemeIcon | undefined;\n\n\t\tif (item.toggled) {\n\t\t\tconst toggled = ((item.toggled as { condition: ContextKeyExpression }).condition ? item.toggled : { condition: item.toggled }) as {\n\t\t\t\tcondition: ContextKeyExpression; icon?: Icon; tooltip?: string | ILocalizedString; title?: string | ILocalizedString;\n\t\t\t};\n\t\t\tthis.checked = contextKeyService.contextMatchesRules(toggled.condition);\n\t\t\tif (this.checked && toggled.tooltip) {\n\t\t\t\tthis.tooltip = typeof toggled.tooltip === 'string' ? toggled.tooltip : toggled.tooltip.value;\n\t\t\t}\n\n\t\t\tif (this.checked && ThemeIcon.isThemeIcon(toggled.icon)) {\n\t\t\t\ticon = toggled.icon;\n\t\t\t}\n\n\t\t\tif (this.checked && toggled.title) {\n\t\t\t\tthis.label = typeof toggled.title === 'string' ? toggled.title : toggled.title.value;\n\t\t\t}\n\t\t}\n\n\t\tif (!icon) {\n\t\t\ticon = ThemeIcon.isThemeIcon(item.icon) ? item.icon : undefined;\n\t\t}\n\n\t\tthis.item = item;\n\t\tthis.alt = alt ? new MenuItemAction(alt, undefined, options, hideActions, undefined, contextKeyService, _commandService) : undefined;\n\t\tthis._options = options;\n\t\tthis.class = icon && ThemeIcon.asClassName(icon);\n\n\t}\n\n\trun(...args: unknown[]): Promise<void> {\n\t\tlet runArgs: unknown[] = [];\n\n\t\tif (this._options?.arg) {\n\t\t\trunArgs = [...runArgs, this._options.arg];\n\t\t}\n\n\t\tif (this._options?.shouldForwardArgs) {\n\t\t\trunArgs = [...runArgs, ...args];\n\t\t}\n\n\t\treturn this._commandService.executeCommand(this.id, ...runArgs);\n\t}\n}\n\n//#region --- IAction2\n\ntype OneOrN<T> = T | T[];\n\ninterface IAction2CommonOptions extends ICommandAction {\n\t/**\n\t * One or many menu items.\n\t */\n\tmenu?: OneOrN<{ id: MenuId; precondition?: null } & Omit<IMenuItem, 'command'>>;\n\n\t/**\n\t * One keybinding.\n\t */\n\tkeybinding?: OneOrN<Omit<IKeybindingRule, 'id'>>;\n}\n\ninterface IBaseAction2Options extends IAction2CommonOptions {\n\n\t/**\n\t * This type is used when an action is not going to show up in the command palette.\n\t * In that case, it's able to use a string for the `title` and `category` properties.\n\t */\n\tf1?: false;\n}\n\nexport interface ICommandPaletteOptions extends IAction2CommonOptions {\n\n\t/**\n\t * The title of the command that will be displayed in the command palette after the category.\n\t * This overrides {@link ICommandAction.title} to ensure a string isn't used so that the title\n\t * includes the localized value and the original value for users using language packs.\n\t */\n\ttitle: ICommandActionTitle;\n\n\t/**\n\t * The category of the command that will be displayed in the command palette before the title suffixed.\n\t * with a colon This overrides {@link ICommandAction.title} to ensure a string isn't used so that\n\t * the title includes the localized value and the original value for users using language packs.\n\t */\n\tcategory?: keyof typeof Categories | ILocalizedString;\n\n\t/**\n\t * Shorthand to add this command to the command palette. Note: this is not the only way to declare that\n\t * a command should be in the command palette... however, enforcing ILocalizedString in the other scenarios\n\t * is much more challenging and this gets us most of the way there.\n\t */\n\tf1: true;\n}\n\nexport type IAction2Options = ICommandPaletteOptions | IBaseAction2Options;\n\nexport interface IAction2F1RequiredOptions {\n\ttitle: ICommandActionTitle;\n}\n\nexport abstract class Action2 {\n\tconstructor(readonly desc: Readonly<IAction2Options>) { }\n\tabstract run(accessor: ServicesAccessor, ...args: unknown[]): void;\n}\n\nexport function registerAction2(ctor: { new(): Action2 }): IDisposable {\n\tconst disposables: IDisposable[] = []; // not using `DisposableStore` to reduce startup perf cost\n\tconst action = new ctor();\n\n\tconst { f1, menu, keybinding, ...command } = action.desc;\n\n\tif (CommandsRegistry.getCommand(command.id)) {\n\t\tthrow new Error(`Cannot register two commands with the same id: ${command.id}`);\n\t}\n\n\t// command\n\tdisposables.push(CommandsRegistry.registerCommand({\n\t\tid: command.id,\n\t\thandler: (accessor, ...args) => action.run(accessor, ...args),\n\t\tmetadata: command.metadata ?? { description: action.desc.title }\n\t}));\n\n\t// menu\n\tif (Array.isArray(menu)) {\n\t\tfor (const item of menu) {\n\t\t\tdisposables.push(MenuRegistry.appendMenuItem(item.id, { command: { ...command, precondition: item.precondition === null ? undefined : command.precondition }, ...item }));\n\t\t}\n\n\t} else if (menu) {\n\t\tdisposables.push(MenuRegistry.appendMenuItem(menu.id, { command: { ...command, precondition: menu.precondition === null ? undefined : command.precondition }, ...menu }));\n\t}\n\tif (f1) {\n\t\tdisposables.push(MenuRegistry.appendMenuItem(MenuId.CommandPalette, { command, when: command.precondition }));\n\t\tdisposables.push(MenuRegistry.addCommand(command));\n\t}\n\n\t// keybinding\n\tif (Array.isArray(keybinding)) {\n\t\tfor (const item of keybinding) {\n\t\t\tdisposables.push(KeybindingsRegistry.registerKeybindingRule({\n\t\t\t\t...item,\n\t\t\t\tid: command.id,\n\t\t\t\twhen: command.precondition ? ContextKeyExpr.and(command.precondition, item.when) : item.when\n\t\t\t}));\n\t\t}\n\t} else if (keybinding) {\n\t\tdisposables.push(KeybindingsRegistry.registerKeybindingRule({\n\t\t\t...keybinding,\n\t\t\tid: command.id,\n\t\t\twhen: command.precondition ? ContextKeyExpr.and(command.precondition, keybinding.when) : keybinding.when\n\t\t}));\n\t}\n\n\treturn {\n\t\tdispose() {\n\t\t\tdispose(disposables);\n\t\t}\n\t};\n}\n//#endregion\n"]}
|
|
1
|
+
{"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/platform/actions/common/actions.ts","vs/platform/actions/common/actions.ts"],"names":[],"mappings":"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","file":"actions.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { IAction, SubmenuAction } from '../../../base/common/actions.js';\nimport { Event, MicrotaskEmitter } from '../../../base/common/event.js';\nimport { DisposableStore, dispose, IDisposable, markAsSingleton, toDisposable } from '../../../base/common/lifecycle.js';\nimport { LinkedList } from '../../../base/common/linkedList.js';\nimport { ThemeIcon } from '../../../base/common/themables.js';\nimport { ICommandAction, ICommandActionTitle, Icon, ILocalizedString } from '../../action/common/action.js';\nimport { Categories } from '../../action/common/actionCommonCategories.js';\nimport { CommandsRegistry, ICommandService } from '../../commands/common/commands.js';\nimport { ContextKeyExpr, ContextKeyExpression, IContextKeyService } from '../../contextkey/common/contextkey.js';\nimport { createDecorator, ServicesAccessor } from '../../instantiation/common/instantiation.js';\nimport { IKeybindingRule, KeybindingsRegistry } from '../../keybinding/common/keybindingsRegistry.js';\n\nexport interface IMenuItem {\n\tcommand: ICommandAction;\n\talt?: ICommandAction;\n\t/**\n\t * Menu item is hidden if this expression returns false.\n\t */\n\twhen?: ContextKeyExpression;\n\tgroup?: 'navigation' | string;\n\torder?: number;\n\tisHiddenByDefault?: boolean;\n}\n\nexport interface ISubmenuItem {\n\ttitle: string | ICommandActionTitle;\n\tsubmenu: MenuId;\n\ticon?: Icon;\n\twhen?: ContextKeyExpression;\n\tgroup?: 'navigation' | string;\n\torder?: number;\n\tisSelection?: boolean;\n\t/**\n\t * A split button shows the first action\n\t * as primary action and the rest of the\n\t * actions in a dropdown.\n\t *\n\t * Use `togglePrimaryAction` to promote\n\t * the action that was last used to be\n\t * the primary action and remember that\n\t * choice.\n\t */\n\tisSplitButton?: boolean | {\n\t\t/**\n\t\t * Will update the primary action based\n\t\t * on the action that was last run.\n\t\t */\n\t\ttogglePrimaryAction: true;\n\t};\n}\n\nexport function isIMenuItem(item: unknown): item is IMenuItem {\n\treturn (item as IMenuItem).command !== undefined;\n}\n\nexport function isISubmenuItem(item: unknown): item is ISubmenuItem {\n\treturn (item as ISubmenuItem).submenu !== undefined;\n}\n\nexport class MenuId {\n\n\tprivate static readonly _instances = new Map<string, MenuId>();\n\n\tstatic readonly CommandPalette = new MenuId('CommandPalette');\n\tstatic readonly DebugBreakpointsContext = new MenuId('DebugBreakpointsContext');\n\tstatic readonly DebugCallStackContext = new MenuId('DebugCallStackContext');\n\tstatic readonly DebugConsoleContext = new MenuId('DebugConsoleContext');\n\tstatic readonly DebugVariablesContext = new MenuId('DebugVariablesContext');\n\tstatic readonly NotebookVariablesContext = new MenuId('NotebookVariablesContext');\n\tstatic readonly DebugHoverContext = new MenuId('DebugHoverContext');\n\tstatic readonly DebugWatchContext = new MenuId('DebugWatchContext');\n\tstatic readonly DebugToolBar = new MenuId('DebugToolBar');\n\tstatic readonly DebugToolBarStop = new MenuId('DebugToolBarStop');\n\tstatic readonly DebugDisassemblyContext = new MenuId('DebugDisassemblyContext');\n\tstatic readonly DebugCallStackToolbar = new MenuId('DebugCallStackToolbar');\n\tstatic readonly DebugCreateConfiguration = new MenuId('DebugCreateConfiguration');\n\tstatic readonly EditorContext = new MenuId('EditorContext');\n\tstatic readonly SimpleEditorContext = new MenuId('SimpleEditorContext');\n\tstatic readonly EditorContent = new MenuId('EditorContent');\n\tstatic readonly EditorLineNumberContext = new MenuId('EditorLineNumberContext');\n\tstatic readonly EditorContextCopy = new MenuId('EditorContextCopy');\n\tstatic readonly EditorContextPeek = new MenuId('EditorContextPeek');\n\tstatic readonly EditorContextShare = new MenuId('EditorContextShare');\n\tstatic readonly EditorTitle = new MenuId('EditorTitle');\n\tstatic readonly CompactWindowEditorTitle = new MenuId('CompactWindowEditorTitle');\n\tstatic readonly EditorTitleRun = new MenuId('EditorTitleRun');\n\tstatic readonly EditorTitleContext = new MenuId('EditorTitleContext');\n\tstatic readonly EditorTitleContextShare = new MenuId('EditorTitleContextShare');\n\tstatic readonly EmptyEditorGroup = new MenuId('EmptyEditorGroup');\n\tstatic readonly EmptyEditorGroupContext = new MenuId('EmptyEditorGroupContext');\n\tstatic readonly EditorTabsBarContext = new MenuId('EditorTabsBarContext');\n\tstatic readonly EditorTabsBarShowTabsSubmenu = new MenuId('EditorTabsBarShowTabsSubmenu');\n\tstatic readonly EditorTabsBarShowTabsZenModeSubmenu = new MenuId('EditorTabsBarShowTabsZenModeSubmenu');\n\tstatic readonly EditorActionsPositionSubmenu = new MenuId('EditorActionsPositionSubmenu');\n\tstatic readonly EditorSplitMoveSubmenu = new MenuId('EditorSplitMoveSubmenu');\n\tstatic readonly ExplorerContext = new MenuId('ExplorerContext');\n\tstatic readonly ExplorerContextShare = new MenuId('ExplorerContextShare');\n\tstatic readonly ExtensionContext = new MenuId('ExtensionContext');\n\tstatic readonly ExtensionEditorContextMenu = new MenuId('ExtensionEditorContextMenu');\n\tstatic readonly GlobalActivity = new MenuId('GlobalActivity');\n\tstatic readonly CommandCenter = new MenuId('CommandCenter');\n\tstatic readonly CommandCenterCenter = new MenuId('CommandCenterCenter');\n\tstatic readonly LayoutControlMenuSubmenu = new MenuId('LayoutControlMenuSubmenu');\n\tstatic readonly LayoutControlMenu = new MenuId('LayoutControlMenu');\n\tstatic readonly MenubarMainMenu = new MenuId('MenubarMainMenu');\n\tstatic readonly MenubarAppearanceMenu = new MenuId('MenubarAppearanceMenu');\n\tstatic readonly MenubarDebugMenu = new MenuId('MenubarDebugMenu');\n\tstatic readonly MenubarEditMenu = new MenuId('MenubarEditMenu');\n\tstatic readonly MenubarCopy = new MenuId('MenubarCopy');\n\tstatic readonly MenubarFileMenu = new MenuId('MenubarFileMenu');\n\tstatic readonly MenubarGoMenu = new MenuId('MenubarGoMenu');\n\tstatic readonly MenubarHelpMenu = new MenuId('MenubarHelpMenu');\n\tstatic readonly MenubarLayoutMenu = new MenuId('MenubarLayoutMenu');\n\tstatic readonly MenubarNewBreakpointMenu = new MenuId('MenubarNewBreakpointMenu');\n\tstatic readonly PanelAlignmentMenu = new MenuId('PanelAlignmentMenu');\n\tstatic readonly PanelPositionMenu = new MenuId('PanelPositionMenu');\n\tstatic readonly ActivityBarPositionMenu = new MenuId('ActivityBarPositionMenu');\n\tstatic readonly MenubarPreferencesMenu = new MenuId('MenubarPreferencesMenu');\n\tstatic readonly MenubarRecentMenu = new MenuId('MenubarRecentMenu');\n\tstatic readonly MenubarSelectionMenu = new MenuId('MenubarSelectionMenu');\n\tstatic readonly MenubarShare = new MenuId('MenubarShare');\n\tstatic readonly MenubarSwitchEditorMenu = new MenuId('MenubarSwitchEditorMenu');\n\tstatic readonly MenubarSwitchGroupMenu = new MenuId('MenubarSwitchGroupMenu');\n\tstatic readonly MenubarTerminalMenu = new MenuId('MenubarTerminalMenu');\n\tstatic readonly MenubarTerminalSuggestStatusMenu = new MenuId('MenubarTerminalSuggestStatusMenu');\n\tstatic readonly MenubarViewMenu = new MenuId('MenubarViewMenu');\n\tstatic readonly MenubarHomeMenu = new MenuId('MenubarHomeMenu');\n\tstatic readonly OpenEditorsContext = new MenuId('OpenEditorsContext');\n\tstatic readonly OpenEditorsContextShare = new MenuId('OpenEditorsContextShare');\n\tstatic readonly ProblemsPanelContext = new MenuId('ProblemsPanelContext');\n\tstatic readonly SCMInputBox = new MenuId('SCMInputBox');\n\tstatic readonly SCMChangeContext = new MenuId('SCMChangeContext');\n\tstatic readonly SCMResourceContext = new MenuId('SCMResourceContext');\n\tstatic readonly SCMResourceContextShare = new MenuId('SCMResourceContextShare');\n\tstatic readonly SCMResourceFolderContext = new MenuId('SCMResourceFolderContext');\n\tstatic readonly SCMResourceGroupContext = new MenuId('SCMResourceGroupContext');\n\tstatic readonly SCMSourceControl = new MenuId('SCMSourceControl');\n\tstatic readonly SCMSourceControlInline = new MenuId('SCMSourceControlInline');\n\tstatic readonly SCMSourceControlTitle = new MenuId('SCMSourceControlTitle');\n\tstatic readonly SCMHistoryTitle = new MenuId('SCMHistoryTitle');\n\tstatic readonly SCMHistoryItemContext = new MenuId('SCMHistoryItemContext');\n\tstatic readonly SCMHistoryItemChangeContext = new MenuId('SCMHistoryItemChangeContext');\n\tstatic readonly SCMHistoryItemRefContext = new MenuId('SCMHistoryItemRefContext');\n\tstatic readonly SCMArtifactGroupContext = new MenuId('SCMArtifactGroupContext');\n\tstatic readonly SCMArtifactContext = new MenuId('SCMArtifactContext');\n\tstatic readonly SCMQuickDiffDecorations = new MenuId('SCMQuickDiffDecorations');\n\tstatic readonly SCMTitle = new MenuId('SCMTitle');\n\tstatic readonly SearchContext = new MenuId('SearchContext');\n\tstatic readonly SearchActionMenu = new MenuId('SearchActionContext');\n\tstatic readonly StatusBarWindowIndicatorMenu = new MenuId('StatusBarWindowIndicatorMenu');\n\tstatic readonly StatusBarRemoteIndicatorMenu = new MenuId('StatusBarRemoteIndicatorMenu');\n\tstatic readonly StickyScrollContext = new MenuId('StickyScrollContext');\n\tstatic readonly TestItem = new MenuId('TestItem');\n\tstatic readonly TestItemGutter = new MenuId('TestItemGutter');\n\tstatic readonly TestProfilesContext = new MenuId('TestProfilesContext');\n\tstatic readonly TestMessageContext = new MenuId('TestMessageContext');\n\tstatic readonly TestMessageContent = new MenuId('TestMessageContent');\n\tstatic readonly TestPeekElement = new MenuId('TestPeekElement');\n\tstatic readonly TestPeekTitle = new MenuId('TestPeekTitle');\n\tstatic readonly TestCallStack = new MenuId('TestCallStack');\n\tstatic readonly TestCoverageFilterItem = new MenuId('TestCoverageFilterItem');\n\tstatic readonly TouchBarContext = new MenuId('TouchBarContext');\n\tstatic readonly TitleBar = new MenuId('TitleBar');\n\tstatic readonly TitleBarContext = new MenuId('TitleBarContext');\n\tstatic readonly TitleBarTitleContext = new MenuId('TitleBarTitleContext');\n\tstatic readonly TunnelContext = new MenuId('TunnelContext');\n\tstatic readonly TunnelPrivacy = new MenuId('TunnelPrivacy');\n\tstatic readonly TunnelProtocol = new MenuId('TunnelProtocol');\n\tstatic readonly TunnelPortInline = new MenuId('TunnelInline');\n\tstatic readonly TunnelTitle = new MenuId('TunnelTitle');\n\tstatic readonly TunnelLocalAddressInline = new MenuId('TunnelLocalAddressInline');\n\tstatic readonly TunnelOriginInline = new MenuId('TunnelOriginInline');\n\tstatic readonly ViewItemContext = new MenuId('ViewItemContext');\n\tstatic readonly ViewContainerTitle = new MenuId('ViewContainerTitle');\n\tstatic readonly ViewContainerTitleContext = new MenuId('ViewContainerTitleContext');\n\tstatic readonly ViewTitle = new MenuId('ViewTitle');\n\tstatic readonly ViewTitleContext = new MenuId('ViewTitleContext');\n\tstatic readonly CommentEditorActions = new MenuId('CommentEditorActions');\n\tstatic readonly CommentThreadTitle = new MenuId('CommentThreadTitle');\n\tstatic readonly CommentThreadActions = new MenuId('CommentThreadActions');\n\tstatic readonly CommentThreadAdditionalActions = new MenuId('CommentThreadAdditionalActions');\n\tstatic readonly CommentThreadTitleContext = new MenuId('CommentThreadTitleContext');\n\tstatic readonly CommentThreadCommentContext = new MenuId('CommentThreadCommentContext');\n\tstatic readonly CommentTitle = new MenuId('CommentTitle');\n\tstatic readonly CommentActions = new MenuId('CommentActions');\n\tstatic readonly CommentsViewThreadActions = new MenuId('CommentsViewThreadActions');\n\tstatic readonly InteractiveToolbar = new MenuId('InteractiveToolbar');\n\tstatic readonly InteractiveCellTitle = new MenuId('InteractiveCellTitle');\n\tstatic readonly InteractiveCellDelete = new MenuId('InteractiveCellDelete');\n\tstatic readonly InteractiveCellExecute = new MenuId('InteractiveCellExecute');\n\tstatic readonly InteractiveInputExecute = new MenuId('InteractiveInputExecute');\n\tstatic readonly InteractiveInputConfig = new MenuId('InteractiveInputConfig');\n\tstatic readonly ReplInputExecute = new MenuId('ReplInputExecute');\n\tstatic readonly IssueReporter = new MenuId('IssueReporter');\n\tstatic readonly NotebookToolbar = new MenuId('NotebookToolbar');\n\tstatic readonly NotebookToolbarContext = new MenuId('NotebookToolbarContext');\n\tstatic readonly NotebookStickyScrollContext = new MenuId('NotebookStickyScrollContext');\n\tstatic readonly NotebookCellTitle = new MenuId('NotebookCellTitle');\n\tstatic readonly NotebookCellDelete = new MenuId('NotebookCellDelete');\n\tstatic readonly NotebookCellInsert = new MenuId('NotebookCellInsert');\n\tstatic readonly NotebookCellBetween = new MenuId('NotebookCellBetween');\n\tstatic readonly NotebookCellListTop = new MenuId('NotebookCellTop');\n\tstatic readonly NotebookCellExecute = new MenuId('NotebookCellExecute');\n\tstatic readonly NotebookCellExecuteGoTo = new MenuId('NotebookCellExecuteGoTo');\n\tstatic readonly NotebookCellExecutePrimary = new MenuId('NotebookCellExecutePrimary');\n\tstatic readonly NotebookDiffCellInputTitle = new MenuId('NotebookDiffCellInputTitle');\n\tstatic readonly NotebookDiffDocumentMetadata = new MenuId('NotebookDiffDocumentMetadata');\n\tstatic readonly NotebookDiffCellMetadataTitle = new MenuId('NotebookDiffCellMetadataTitle');\n\tstatic readonly NotebookDiffCellOutputsTitle = new MenuId('NotebookDiffCellOutputsTitle');\n\tstatic readonly NotebookOutputToolbar = new MenuId('NotebookOutputToolbar');\n\tstatic readonly NotebookOutlineFilter = new MenuId('NotebookOutlineFilter');\n\tstatic readonly NotebookOutlineActionMenu = new MenuId('NotebookOutlineActionMenu');\n\tstatic readonly NotebookEditorLayoutConfigure = new MenuId('NotebookEditorLayoutConfigure');\n\tstatic readonly NotebookKernelSource = new MenuId('NotebookKernelSource');\n\tstatic readonly BulkEditTitle = new MenuId('BulkEditTitle');\n\tstatic readonly BulkEditContext = new MenuId('BulkEditContext');\n\tstatic readonly TimelineItemContext = new MenuId('TimelineItemContext');\n\tstatic readonly TimelineTitle = new MenuId('TimelineTitle');\n\tstatic readonly TimelineTitleContext = new MenuId('TimelineTitleContext');\n\tstatic readonly TimelineFilterSubMenu = new MenuId('TimelineFilterSubMenu');\n\tstatic readonly AgentSessionsTitle = new MenuId('AgentSessionsTitle');\n\tstatic readonly AgentSessionsFilterSubMenu = new MenuId('AgentSessionsFilterSubMenu');\n\tstatic readonly AccountsContext = new MenuId('AccountsContext');\n\tstatic readonly SidebarTitle = new MenuId('SidebarTitle');\n\tstatic readonly PanelTitle = new MenuId('PanelTitle');\n\tstatic readonly AuxiliaryBarTitle = new MenuId('AuxiliaryBarTitle');\n\tstatic readonly TerminalInstanceContext = new MenuId('TerminalInstanceContext');\n\tstatic readonly TerminalEditorInstanceContext = new MenuId('TerminalEditorInstanceContext');\n\tstatic readonly TerminalNewDropdownContext = new MenuId('TerminalNewDropdownContext');\n\tstatic readonly TerminalTabContext = new MenuId('TerminalTabContext');\n\tstatic readonly TerminalTabEmptyAreaContext = new MenuId('TerminalTabEmptyAreaContext');\n\tstatic readonly TerminalStickyScrollContext = new MenuId('TerminalStickyScrollContext');\n\tstatic readonly WebviewContext = new MenuId('WebviewContext');\n\tstatic readonly InlineCompletionsActions = new MenuId('InlineCompletionsActions');\n\tstatic readonly InlineEditsActions = new MenuId('InlineEditsActions');\n\tstatic readonly NewFile = new MenuId('NewFile');\n\tstatic readonly MergeInput1Toolbar = new MenuId('MergeToolbar1Toolbar');\n\tstatic readonly MergeInput2Toolbar = new MenuId('MergeToolbar2Toolbar');\n\tstatic readonly MergeBaseToolbar = new MenuId('MergeBaseToolbar');\n\tstatic readonly MergeInputResultToolbar = new MenuId('MergeToolbarResultToolbar');\n\tstatic readonly InlineSuggestionToolbar = new MenuId('InlineSuggestionToolbar');\n\tstatic readonly InlineEditToolbar = new MenuId('InlineEditToolbar');\n\tstatic readonly ChatContext = new MenuId('ChatContext');\n\tstatic readonly ChatCodeBlock = new MenuId('ChatCodeblock');\n\tstatic readonly ChatCompareBlock = new MenuId('ChatCompareBlock');\n\tstatic readonly ChatMessageTitle = new MenuId('ChatMessageTitle');\n\tstatic readonly ChatWelcomeContext = new MenuId('ChatWelcomeContext');\n\tstatic readonly ChatMessageFooter = new MenuId('ChatMessageFooter');\n\tstatic readonly ChatExecute = new MenuId('ChatExecute');\n\tstatic readonly ChatInput = new MenuId('ChatInput');\n\tstatic readonly ChatInputSide = new MenuId('ChatInputSide');\n\tstatic readonly ChatModePicker = new MenuId('ChatModePicker');\n\tstatic readonly ChatEditingWidgetToolbar = new MenuId('ChatEditingWidgetToolbar');\n\tstatic readonly ChatEditingEditorContent = new MenuId('ChatEditingEditorContent');\n\tstatic readonly ChatEditingEditorHunk = new MenuId('ChatEditingEditorHunk');\n\tstatic readonly ChatEditingDeletedNotebookCell = new MenuId('ChatEditingDeletedNotebookCell');\n\tstatic readonly ChatInputAttachmentToolbar = new MenuId('ChatInputAttachmentToolbar');\n\tstatic readonly ChatEditingWidgetModifiedFilesToolbar = new MenuId('ChatEditingWidgetModifiedFilesToolbar');\n\tstatic readonly ChatInputResourceAttachmentContext = new MenuId('ChatInputResourceAttachmentContext');\n\tstatic readonly ChatInputSymbolAttachmentContext = new MenuId('ChatInputSymbolAttachmentContext');\n\tstatic readonly ChatInlineResourceAnchorContext = new MenuId('ChatInlineResourceAnchorContext');\n\tstatic readonly ChatInlineSymbolAnchorContext = new MenuId('ChatInlineSymbolAnchorContext');\n\tstatic readonly ChatMessageCheckpoint: MenuId = new MenuId('ChatMessageCheckpoint');\n\tstatic readonly ChatMessageRestoreCheckpoint: MenuId = new MenuId('ChatMessageRestoreCheckpoint');\n\tstatic readonly ChatNewMenu = new MenuId('ChatNewMenu');\n\tstatic readonly ChatEditingCodeBlockContext = new MenuId('ChatEditingCodeBlockContext');\n\tstatic readonly ChatTitleBarMenu = new MenuId('ChatTitleBarMenu');\n\tstatic readonly ChatAttachmentsContext = new MenuId('ChatAttachmentsContext');\n\tstatic readonly ChatToolOutputResourceToolbar = new MenuId('ChatToolOutputResourceToolbar');\n\tstatic readonly ChatTextEditorMenu = new MenuId('ChatTextEditorMenu');\n\tstatic readonly ChatToolOutputResourceContext = new MenuId('ChatToolOutputResourceContext');\n\tstatic readonly ChatMultiDiffContext = new MenuId('ChatMultiDiffContext');\n\tstatic readonly ChatSessionsMenu = new MenuId('ChatSessionsMenu');\n\tstatic readonly ChatSessionsCreateSubMenu = new MenuId('ChatSessionsCreateSubMenu');\n\tstatic readonly ChatConfirmationMenu = new MenuId('ChatConfirmationMenu');\n\tstatic readonly ChatEditorInlineExecute = new MenuId('ChatEditorInputExecute');\n\tstatic readonly ChatEditorInlineInputSide = new MenuId('ChatEditorInputSide');\n\tstatic readonly AccessibleView = new MenuId('AccessibleView');\n\tstatic readonly MultiDiffEditorFileToolbar = new MenuId('MultiDiffEditorFileToolbar');\n\tstatic readonly DiffEditorHunkToolbar = new MenuId('DiffEditorHunkToolbar');\n\tstatic readonly DiffEditorSelectionToolbar = new MenuId('DiffEditorSelectionToolbar');\n\n\treadonly id: string;\n\n\t/**\n\t * Create a new `MenuId` with the unique identifier. Will throw if a menu\n\t * with the identifier already exists, use `MenuId.for(ident)` or a unique\n\t * identifier\n\t */\n\tconstructor(identifier: string) {\n\t\tif (MenuId._instances.has(identifier)) {\n\t\t\tthrow new TypeError(`MenuId with identifier '${identifier}' already exists. Use MenuId.for(ident) or a unique identifier`);\n\t\t}\n\t\tMenuId._instances.set(identifier, this);\n\t\tthis.id = identifier;\n\t}\n}\n\nexport interface IMenuActionOptions {\n\targ?: unknown;\n\tshouldForwardArgs?: boolean;\n\trenderShortTitle?: boolean;\n}\n\nexport interface IMenuChangeEvent {\n\treadonly menu: IMenu;\n\treadonly isStructuralChange: boolean;\n\treadonly isToggleChange: boolean;\n\treadonly isEnablementChange: boolean;\n}\n\nexport interface IMenu extends IDisposable {\n\treadonly onDidChange: Event<IMenuChangeEvent>;\n\tgetActions(options?: IMenuActionOptions): [string, Array<MenuItemAction | SubmenuItemAction>][];\n}\n\nexport const IMenuService = createDecorator<IMenuService>('menuService');\n\nexport interface IMenuCreateOptions {\n\temitEventsForSubmenuChanges?: boolean;\n\teventDebounceDelay?: number;\n}\n\nexport interface IMenuService {\n\n\treadonly _serviceBrand: undefined;\n\n\t/**\n\t * Consider using getMenuActions if you don't need to listen to events.\n\t *\n\t * Create a new menu for the given menu identifier. A menu sends events when it's entries\n\t * have changed (placement, enablement, checked-state). By default it does not send events for\n\t * submenu entries. That is more expensive and must be explicitly enabled with the\n\t * `emitEventsForSubmenuChanges` flag.\n\t */\n\tcreateMenu(id: MenuId, contextKeyService: IContextKeyService, options?: IMenuCreateOptions): IMenu;\n\n\t/**\n\t * Creates a new menu, gets the actions, and then disposes of the menu.\n\t */\n\tgetMenuActions(id: MenuId, contextKeyService: IContextKeyService, options?: IMenuActionOptions): [string, Array<MenuItemAction | SubmenuItemAction>][];\n\n\t/**\n\t * Reset **all** menu item hidden states.\n\t */\n\tresetHiddenStates(): void;\n\n\t/**\n\t * Reset the menu's hidden states.\n\t */\n\tresetHiddenStates(menuIds: readonly MenuId[] | undefined): void;\n}\n\ntype ICommandsMap = Map<string, ICommandAction>;\n\nexport interface IMenuRegistryChangeEvent {\n\thas(id: MenuId): boolean;\n}\n\nclass MenuRegistryChangeEvent {\n\n\tprivate static _all = new Map<MenuId, MenuRegistryChangeEvent>();\n\n\tstatic for(id: MenuId): MenuRegistryChangeEvent {\n\t\tlet value = this._all.get(id);\n\t\tif (!value) {\n\t\t\tvalue = new MenuRegistryChangeEvent(id);\n\t\t\tthis._all.set(id, value);\n\t\t}\n\t\treturn value;\n\t}\n\n\tstatic merge(events: IMenuRegistryChangeEvent[]): IMenuRegistryChangeEvent {\n\t\tconst ids = new Set<MenuId>();\n\t\tfor (const item of events) {\n\t\t\tif (item instanceof MenuRegistryChangeEvent) {\n\t\t\t\tids.add(item.id);\n\t\t\t}\n\t\t}\n\t\treturn ids;\n\t}\n\n\treadonly has: (id: MenuId) => boolean;\n\n\tprivate constructor(private readonly id: MenuId) {\n\t\tthis.has = candidate => candidate === id;\n\t}\n}\n\nexport interface IMenuRegistry {\n\treadonly onDidChangeMenu: Event<IMenuRegistryChangeEvent>;\n\taddCommand(userCommand: ICommandAction): IDisposable;\n\tappendMenuItem(menu: MenuId, item: IMenuItem | ISubmenuItem): IDisposable;\n\tgetMenuItems(loc: MenuId): Array<IMenuItem | ISubmenuItem>;\n}\n\nexport const MenuRegistry: IMenuRegistry = new class implements IMenuRegistry {\n\n\tprivate readonly _commands = new Map<string, ICommandAction>();\n\tprivate readonly _menuItems = new Map<MenuId, LinkedList<IMenuItem | ISubmenuItem>>();\n\tprivate readonly _onDidChangeMenu = new MicrotaskEmitter<IMenuRegistryChangeEvent>({\n\t\tmerge: MenuRegistryChangeEvent.merge\n\t});\n\n\treadonly onDidChangeMenu: Event<IMenuRegistryChangeEvent> = this._onDidChangeMenu.event;\n\n\taddCommand(command: ICommandAction): IDisposable {\n\t\tthis._commands.set(command.id, command);\n\t\tthis._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(MenuId.CommandPalette));\n\n\t\treturn markAsSingleton(toDisposable(() => {\n\t\t\tif (this._commands.delete(command.id)) {\n\t\t\t\tthis._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(MenuId.CommandPalette));\n\t\t\t}\n\t\t}));\n\t}\n\n\tgetCommand(id: string): ICommandAction | undefined {\n\t\treturn this._commands.get(id);\n\t}\n\n\tgetCommands(): ICommandsMap {\n\t\tconst map = new Map<string, ICommandAction>();\n\t\tthis._commands.forEach((value, key) => map.set(key, value));\n\t\treturn map;\n\t}\n\n\tappendMenuItem(id: MenuId, item: IMenuItem | ISubmenuItem): IDisposable {\n\t\tlet list = this._menuItems.get(id);\n\t\tif (!list) {\n\t\t\tlist = new LinkedList();\n\t\t\tthis._menuItems.set(id, list);\n\t\t}\n\t\tconst rm = list.push(item);\n\t\tthis._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(id));\n\t\treturn markAsSingleton(toDisposable(() => {\n\t\t\trm();\n\t\t\tthis._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(id));\n\t\t}));\n\t}\n\n\tappendMenuItems(items: Iterable<{ id: MenuId; item: IMenuItem | ISubmenuItem }>): IDisposable {\n\t\tconst result = new DisposableStore();\n\t\tfor (const { id, item } of items) {\n\t\t\tresult.add(this.appendMenuItem(id, item));\n\t\t}\n\t\treturn result;\n\t}\n\n\tgetMenuItems(id: MenuId): Array<IMenuItem | ISubmenuItem> {\n\t\tlet result: Array<IMenuItem | ISubmenuItem>;\n\t\tif (this._menuItems.has(id)) {\n\t\t\tresult = [...this._menuItems.get(id)!];\n\t\t} else {\n\t\t\tresult = [];\n\t\t}\n\t\tif (id === MenuId.CommandPalette) {\n\t\t\t// CommandPalette is special because it shows\n\t\t\t// all commands by default\n\t\t\tthis._appendImplicitItems(result);\n\t\t}\n\t\treturn result;\n\t}\n\n\tprivate _appendImplicitItems(result: Array<IMenuItem | ISubmenuItem>) {\n\t\tconst set = new Set<string>();\n\n\t\tfor (const item of result) {\n\t\t\tif (isIMenuItem(item)) {\n\t\t\t\tset.add(item.command.id);\n\t\t\t\tif (item.alt) {\n\t\t\t\t\tset.add(item.alt.id);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis._commands.forEach((command, id) => {\n\t\t\tif (!set.has(id)) {\n\t\t\t\tresult.push({ command });\n\t\t\t}\n\t\t});\n\t}\n};\n\nexport class SubmenuItemAction extends SubmenuAction {\n\n\tconstructor(\n\t\treadonly item: ISubmenuItem,\n\t\treadonly hideActions: IMenuItemHide | undefined,\n\t\tactions: readonly IAction[],\n\t) {\n\t\tsuper(`submenuitem.${item.submenu.id}`, typeof item.title === 'string' ? item.title : item.title.value, actions, 'submenu');\n\t}\n}\n\nexport interface IMenuItemHide {\n\treadonly isHidden: boolean;\n\treadonly hide: IAction;\n\treadonly toggle: IAction;\n}\n\n// implements IAction, does NOT extend Action, so that no one\n// subscribes to events of Action or modified properties\nexport class MenuItemAction implements IAction {\n\n\tstatic label(action: ICommandAction, options?: IMenuActionOptions): string {\n\t\treturn options?.renderShortTitle && action.shortTitle\n\t\t\t? (typeof action.shortTitle === 'string' ? action.shortTitle : action.shortTitle.value)\n\t\t\t: (typeof action.title === 'string' ? action.title : action.title.value);\n\t}\n\n\treadonly item: ICommandAction;\n\treadonly alt: MenuItemAction | undefined;\n\n\tprivate readonly _options: IMenuActionOptions | undefined;\n\n\treadonly id: string;\n\treadonly label: string;\n\treadonly tooltip: string;\n\treadonly class: string | undefined;\n\treadonly enabled: boolean;\n\treadonly checked?: boolean;\n\n\tconstructor(\n\t\titem: ICommandAction,\n\t\talt: ICommandAction | undefined,\n\t\toptions: IMenuActionOptions | undefined,\n\t\treadonly hideActions: IMenuItemHide | undefined,\n\t\treadonly menuKeybinding: IAction | undefined,\n\t\t@IContextKeyService contextKeyService: IContextKeyService,\n\t\t@ICommandService private _commandService: ICommandService\n\t) {\n\t\tthis.id = item.id;\n\t\tthis.label = MenuItemAction.label(item, options);\n\t\tthis.tooltip = (typeof item.tooltip === 'string' ? item.tooltip : item.tooltip?.value) ?? '';\n\t\tthis.enabled = !item.precondition || contextKeyService.contextMatchesRules(item.precondition);\n\t\tthis.checked = undefined;\n\n\t\tlet icon: ThemeIcon | undefined;\n\n\t\tif (item.toggled) {\n\t\t\tconst toggled = ((item.toggled as { condition: ContextKeyExpression }).condition ? item.toggled : { condition: item.toggled }) as {\n\t\t\t\tcondition: ContextKeyExpression; icon?: Icon; tooltip?: string | ILocalizedString; title?: string | ILocalizedString;\n\t\t\t};\n\t\t\tthis.checked = contextKeyService.contextMatchesRules(toggled.condition);\n\t\t\tif (this.checked && toggled.tooltip) {\n\t\t\t\tthis.tooltip = typeof toggled.tooltip === 'string' ? toggled.tooltip : toggled.tooltip.value;\n\t\t\t}\n\n\t\t\tif (this.checked && ThemeIcon.isThemeIcon(toggled.icon)) {\n\t\t\t\ticon = toggled.icon;\n\t\t\t}\n\n\t\t\tif (this.checked && toggled.title) {\n\t\t\t\tthis.label = typeof toggled.title === 'string' ? toggled.title : toggled.title.value;\n\t\t\t}\n\t\t}\n\n\t\tif (!icon) {\n\t\t\ticon = ThemeIcon.isThemeIcon(item.icon) ? item.icon : undefined;\n\t\t}\n\n\t\tthis.item = item;\n\t\tthis.alt = alt ? new MenuItemAction(alt, undefined, options, hideActions, undefined, contextKeyService, _commandService) : undefined;\n\t\tthis._options = options;\n\t\tthis.class = icon && ThemeIcon.asClassName(icon);\n\n\t}\n\n\trun(...args: unknown[]): Promise<void> {\n\t\tlet runArgs: unknown[] = [];\n\n\t\tif (this._options?.arg) {\n\t\t\trunArgs = [...runArgs, this._options.arg];\n\t\t}\n\n\t\tif (this._options?.shouldForwardArgs) {\n\t\t\trunArgs = [...runArgs, ...args];\n\t\t}\n\n\t\treturn this._commandService.executeCommand(this.id, ...runArgs);\n\t}\n}\n\n//#region --- IAction2\n\ntype OneOrN<T> = T | T[];\n\ninterface IAction2CommonOptions extends ICommandAction {\n\t/**\n\t * One or many menu items.\n\t */\n\tmenu?: OneOrN<{ id: MenuId; precondition?: null } & Omit<IMenuItem, 'command'>>;\n\n\t/**\n\t * One keybinding.\n\t */\n\tkeybinding?: OneOrN<Omit<IKeybindingRule, 'id'>>;\n}\n\ninterface IBaseAction2Options extends IAction2CommonOptions {\n\n\t/**\n\t * This type is used when an action is not going to show up in the command palette.\n\t * In that case, it's able to use a string for the `title` and `category` properties.\n\t */\n\tf1?: false;\n}\n\nexport interface ICommandPaletteOptions extends IAction2CommonOptions {\n\n\t/**\n\t * The title of the command that will be displayed in the command palette after the category.\n\t * This overrides {@link ICommandAction.title} to ensure a string isn't used so that the title\n\t * includes the localized value and the original value for users using language packs.\n\t */\n\ttitle: ICommandActionTitle;\n\n\t/**\n\t * The category of the command that will be displayed in the command palette before the title suffixed.\n\t * with a colon This overrides {@link ICommandAction.title} to ensure a string isn't used so that\n\t * the title includes the localized value and the original value for users using language packs.\n\t */\n\tcategory?: keyof typeof Categories | ILocalizedString;\n\n\t/**\n\t * Shorthand to add this command to the command palette. Note: this is not the only way to declare that\n\t * a command should be in the command palette... however, enforcing ILocalizedString in the other scenarios\n\t * is much more challenging and this gets us most of the way there.\n\t */\n\tf1: true;\n}\n\nexport type IAction2Options = ICommandPaletteOptions | IBaseAction2Options;\n\nexport interface IAction2F1RequiredOptions {\n\ttitle: ICommandActionTitle;\n}\n\nexport abstract class Action2 {\n\tconstructor(readonly desc: Readonly<IAction2Options>) { }\n\tabstract run(accessor: ServicesAccessor, ...args: unknown[]): void;\n}\n\nexport function registerAction2(ctor: { new(): Action2 }): IDisposable {\n\tconst disposables: IDisposable[] = []; // not using `DisposableStore` to reduce startup perf cost\n\tconst action = new ctor();\n\n\tconst { f1, menu, keybinding, ...command } = action.desc;\n\n\tif (CommandsRegistry.getCommand(command.id)) {\n\t\tthrow new Error(`Cannot register two commands with the same id: ${command.id}`);\n\t}\n\n\t// command\n\tdisposables.push(CommandsRegistry.registerCommand({\n\t\tid: command.id,\n\t\thandler: (accessor, ...args) => action.run(accessor, ...args),\n\t\tmetadata: command.metadata ?? { description: action.desc.title }\n\t}));\n\n\t// menu\n\tif (Array.isArray(menu)) {\n\t\tfor (const item of menu) {\n\t\t\tdisposables.push(MenuRegistry.appendMenuItem(item.id, { command: { ...command, precondition: item.precondition === null ? undefined : command.precondition }, ...item }));\n\t\t}\n\n\t} else if (menu) {\n\t\tdisposables.push(MenuRegistry.appendMenuItem(menu.id, { command: { ...command, precondition: menu.precondition === null ? undefined : command.precondition }, ...menu }));\n\t}\n\tif (f1) {\n\t\tdisposables.push(MenuRegistry.appendMenuItem(MenuId.CommandPalette, { command, when: command.precondition }));\n\t\tdisposables.push(MenuRegistry.addCommand(command));\n\t}\n\n\t// keybinding\n\tif (Array.isArray(keybinding)) {\n\t\tfor (const item of keybinding) {\n\t\t\tdisposables.push(KeybindingsRegistry.registerKeybindingRule({\n\t\t\t\t...item,\n\t\t\t\tid: command.id,\n\t\t\t\twhen: command.precondition ? ContextKeyExpr.and(command.precondition, item.when) : item.when\n\t\t\t}));\n\t\t}\n\t} else if (keybinding) {\n\t\tdisposables.push(KeybindingsRegistry.registerKeybindingRule({\n\t\t\t...keybinding,\n\t\t\tid: command.id,\n\t\t\twhen: command.precondition ? ContextKeyExpr.and(command.precondition, keybinding.when) : keybinding.when\n\t\t}));\n\t}\n\n\treturn {\n\t\tdispose() {\n\t\t\tdispose(disposables);\n\t\t}\n\t};\n}\n//#endregion\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { IAction, SubmenuAction } from '../../../base/common/actions.js';\nimport { Event, MicrotaskEmitter } from '../../../base/common/event.js';\nimport { DisposableStore, dispose, IDisposable, markAsSingleton, toDisposable } from '../../../base/common/lifecycle.js';\nimport { LinkedList } from '../../../base/common/linkedList.js';\nimport { ThemeIcon } from '../../../base/common/themables.js';\nimport { ICommandAction, ICommandActionTitle, Icon, ILocalizedString } from '../../action/common/action.js';\nimport { Categories } from '../../action/common/actionCommonCategories.js';\nimport { CommandsRegistry, ICommandService } from '../../commands/common/commands.js';\nimport { ContextKeyExpr, ContextKeyExpression, IContextKeyService } from '../../contextkey/common/contextkey.js';\nimport { createDecorator, ServicesAccessor } from '../../instantiation/common/instantiation.js';\nimport { IKeybindingRule, KeybindingsRegistry } from '../../keybinding/common/keybindingsRegistry.js';\n\nexport interface IMenuItem {\n\tcommand: ICommandAction;\n\talt?: ICommandAction;\n\t/**\n\t * Menu item is hidden if this expression returns false.\n\t */\n\twhen?: ContextKeyExpression;\n\tgroup?: 'navigation' | string;\n\torder?: number;\n\tisHiddenByDefault?: boolean;\n}\n\nexport interface ISubmenuItem {\n\ttitle: string | ICommandActionTitle;\n\tsubmenu: MenuId;\n\ticon?: Icon;\n\twhen?: ContextKeyExpression;\n\tgroup?: 'navigation' | string;\n\torder?: number;\n\tisSelection?: boolean;\n\t/**\n\t * A split button shows the first action\n\t * as primary action and the rest of the\n\t * actions in a dropdown.\n\t *\n\t * Use `togglePrimaryAction` to promote\n\t * the action that was last used to be\n\t * the primary action and remember that\n\t * choice.\n\t */\n\tisSplitButton?: boolean | {\n\t\t/**\n\t\t * Will update the primary action based\n\t\t * on the action that was last run.\n\t\t */\n\t\ttogglePrimaryAction: true;\n\t};\n}\n\nexport function isIMenuItem(item: unknown): item is IMenuItem {\n\treturn (item as IMenuItem).command !== undefined;\n}\n\nexport function isISubmenuItem(item: unknown): item is ISubmenuItem {\n\treturn (item as ISubmenuItem).submenu !== undefined;\n}\n\nexport class MenuId {\n\n\tprivate static readonly _instances = new Map<string, MenuId>();\n\n\tstatic readonly CommandPalette = new MenuId('CommandPalette');\n\tstatic readonly DebugBreakpointsContext = new MenuId('DebugBreakpointsContext');\n\tstatic readonly DebugCallStackContext = new MenuId('DebugCallStackContext');\n\tstatic readonly DebugConsoleContext = new MenuId('DebugConsoleContext');\n\tstatic readonly DebugVariablesContext = new MenuId('DebugVariablesContext');\n\tstatic readonly NotebookVariablesContext = new MenuId('NotebookVariablesContext');\n\tstatic readonly DebugHoverContext = new MenuId('DebugHoverContext');\n\tstatic readonly DebugWatchContext = new MenuId('DebugWatchContext');\n\tstatic readonly DebugToolBar = new MenuId('DebugToolBar');\n\tstatic readonly DebugToolBarStop = new MenuId('DebugToolBarStop');\n\tstatic readonly DebugDisassemblyContext = new MenuId('DebugDisassemblyContext');\n\tstatic readonly DebugCallStackToolbar = new MenuId('DebugCallStackToolbar');\n\tstatic readonly DebugCreateConfiguration = new MenuId('DebugCreateConfiguration');\n\tstatic readonly EditorContext = new MenuId('EditorContext');\n\tstatic readonly SimpleEditorContext = new MenuId('SimpleEditorContext');\n\tstatic readonly EditorContent = new MenuId('EditorContent');\n\tstatic readonly EditorLineNumberContext = new MenuId('EditorLineNumberContext');\n\tstatic readonly EditorContextCopy = new MenuId('EditorContextCopy');\n\tstatic readonly EditorContextPeek = new MenuId('EditorContextPeek');\n\tstatic readonly EditorContextShare = new MenuId('EditorContextShare');\n\tstatic readonly EditorTitle = new MenuId('EditorTitle');\n\tstatic readonly CompactWindowEditorTitle = new MenuId('CompactWindowEditorTitle');\n\tstatic readonly EditorTitleRun = new MenuId('EditorTitleRun');\n\tstatic readonly EditorTitleContext = new MenuId('EditorTitleContext');\n\tstatic readonly EditorTitleContextShare = new MenuId('EditorTitleContextShare');\n\tstatic readonly EmptyEditorGroup = new MenuId('EmptyEditorGroup');\n\tstatic readonly EmptyEditorGroupContext = new MenuId('EmptyEditorGroupContext');\n\tstatic readonly EditorTabsBarContext = new MenuId('EditorTabsBarContext');\n\tstatic readonly EditorTabsBarShowTabsSubmenu = new MenuId('EditorTabsBarShowTabsSubmenu');\n\tstatic readonly EditorTabsBarShowTabsZenModeSubmenu = new MenuId('EditorTabsBarShowTabsZenModeSubmenu');\n\tstatic readonly EditorActionsPositionSubmenu = new MenuId('EditorActionsPositionSubmenu');\n\tstatic readonly EditorSplitMoveSubmenu = new MenuId('EditorSplitMoveSubmenu');\n\tstatic readonly ExplorerContext = new MenuId('ExplorerContext');\n\tstatic readonly ExplorerContextShare = new MenuId('ExplorerContextShare');\n\tstatic readonly ExtensionContext = new MenuId('ExtensionContext');\n\tstatic readonly ExtensionEditorContextMenu = new MenuId('ExtensionEditorContextMenu');\n\tstatic readonly GlobalActivity = new MenuId('GlobalActivity');\n\tstatic readonly CommandCenter = new MenuId('CommandCenter');\n\tstatic readonly CommandCenterCenter = new MenuId('CommandCenterCenter');\n\tstatic readonly LayoutControlMenuSubmenu = new MenuId('LayoutControlMenuSubmenu');\n\tstatic readonly LayoutControlMenu = new MenuId('LayoutControlMenu');\n\tstatic readonly MenubarMainMenu = new MenuId('MenubarMainMenu');\n\tstatic readonly MenubarAppearanceMenu = new MenuId('MenubarAppearanceMenu');\n\tstatic readonly MenubarDebugMenu = new MenuId('MenubarDebugMenu');\n\tstatic readonly MenubarEditMenu = new MenuId('MenubarEditMenu');\n\tstatic readonly MenubarCopy = new MenuId('MenubarCopy');\n\tstatic readonly MenubarFileMenu = new MenuId('MenubarFileMenu');\n\tstatic readonly MenubarGoMenu = new MenuId('MenubarGoMenu');\n\tstatic readonly MenubarHelpMenu = new MenuId('MenubarHelpMenu');\n\tstatic readonly MenubarLayoutMenu = new MenuId('MenubarLayoutMenu');\n\tstatic readonly MenubarNewBreakpointMenu = new MenuId('MenubarNewBreakpointMenu');\n\tstatic readonly PanelAlignmentMenu = new MenuId('PanelAlignmentMenu');\n\tstatic readonly PanelPositionMenu = new MenuId('PanelPositionMenu');\n\tstatic readonly ActivityBarPositionMenu = new MenuId('ActivityBarPositionMenu');\n\tstatic readonly MenubarPreferencesMenu = new MenuId('MenubarPreferencesMenu');\n\tstatic readonly MenubarRecentMenu = new MenuId('MenubarRecentMenu');\n\tstatic readonly MenubarSelectionMenu = new MenuId('MenubarSelectionMenu');\n\tstatic readonly MenubarShare = new MenuId('MenubarShare');\n\tstatic readonly MenubarSwitchEditorMenu = new MenuId('MenubarSwitchEditorMenu');\n\tstatic readonly MenubarSwitchGroupMenu = new MenuId('MenubarSwitchGroupMenu');\n\tstatic readonly MenubarTerminalMenu = new MenuId('MenubarTerminalMenu');\n\tstatic readonly MenubarTerminalSuggestStatusMenu = new MenuId('MenubarTerminalSuggestStatusMenu');\n\tstatic readonly MenubarViewMenu = new MenuId('MenubarViewMenu');\n\tstatic readonly MenubarHomeMenu = new MenuId('MenubarHomeMenu');\n\tstatic readonly OpenEditorsContext = new MenuId('OpenEditorsContext');\n\tstatic readonly OpenEditorsContextShare = new MenuId('OpenEditorsContextShare');\n\tstatic readonly ProblemsPanelContext = new MenuId('ProblemsPanelContext');\n\tstatic readonly SCMInputBox = new MenuId('SCMInputBox');\n\tstatic readonly SCMChangeContext = new MenuId('SCMChangeContext');\n\tstatic readonly SCMResourceContext = new MenuId('SCMResourceContext');\n\tstatic readonly SCMResourceContextShare = new MenuId('SCMResourceContextShare');\n\tstatic readonly SCMResourceFolderContext = new MenuId('SCMResourceFolderContext');\n\tstatic readonly SCMResourceGroupContext = new MenuId('SCMResourceGroupContext');\n\tstatic readonly SCMSourceControl = new MenuId('SCMSourceControl');\n\tstatic readonly SCMSourceControlInline = new MenuId('SCMSourceControlInline');\n\tstatic readonly SCMSourceControlTitle = new MenuId('SCMSourceControlTitle');\n\tstatic readonly SCMHistoryTitle = new MenuId('SCMHistoryTitle');\n\tstatic readonly SCMHistoryItemContext = new MenuId('SCMHistoryItemContext');\n\tstatic readonly SCMHistoryItemChangeContext = new MenuId('SCMHistoryItemChangeContext');\n\tstatic readonly SCMHistoryItemRefContext = new MenuId('SCMHistoryItemRefContext');\n\tstatic readonly SCMArtifactGroupContext = new MenuId('SCMArtifactGroupContext');\n\tstatic readonly SCMArtifactContext = new MenuId('SCMArtifactContext');\n\tstatic readonly SCMQuickDiffDecorations = new MenuId('SCMQuickDiffDecorations');\n\tstatic readonly SCMTitle = new MenuId('SCMTitle');\n\tstatic readonly SearchContext = new MenuId('SearchContext');\n\tstatic readonly SearchActionMenu = new MenuId('SearchActionContext');\n\tstatic readonly StatusBarWindowIndicatorMenu = new MenuId('StatusBarWindowIndicatorMenu');\n\tstatic readonly StatusBarRemoteIndicatorMenu = new MenuId('StatusBarRemoteIndicatorMenu');\n\tstatic readonly StickyScrollContext = new MenuId('StickyScrollContext');\n\tstatic readonly TestItem = new MenuId('TestItem');\n\tstatic readonly TestItemGutter = new MenuId('TestItemGutter');\n\tstatic readonly TestProfilesContext = new MenuId('TestProfilesContext');\n\tstatic readonly TestMessageContext = new MenuId('TestMessageContext');\n\tstatic readonly TestMessageContent = new MenuId('TestMessageContent');\n\tstatic readonly TestPeekElement = new MenuId('TestPeekElement');\n\tstatic readonly TestPeekTitle = new MenuId('TestPeekTitle');\n\tstatic readonly TestCallStack = new MenuId('TestCallStack');\n\tstatic readonly TestCoverageFilterItem = new MenuId('TestCoverageFilterItem');\n\tstatic readonly TouchBarContext = new MenuId('TouchBarContext');\n\tstatic readonly TitleBar = new MenuId('TitleBar');\n\tstatic readonly TitleBarContext = new MenuId('TitleBarContext');\n\tstatic readonly TitleBarTitleContext = new MenuId('TitleBarTitleContext');\n\tstatic readonly TunnelContext = new MenuId('TunnelContext');\n\tstatic readonly TunnelPrivacy = new MenuId('TunnelPrivacy');\n\tstatic readonly TunnelProtocol = new MenuId('TunnelProtocol');\n\tstatic readonly TunnelPortInline = new MenuId('TunnelInline');\n\tstatic readonly TunnelTitle = new MenuId('TunnelTitle');\n\tstatic readonly TunnelLocalAddressInline = new MenuId('TunnelLocalAddressInline');\n\tstatic readonly TunnelOriginInline = new MenuId('TunnelOriginInline');\n\tstatic readonly ViewItemContext = new MenuId('ViewItemContext');\n\tstatic readonly ViewContainerTitle = new MenuId('ViewContainerTitle');\n\tstatic readonly ViewContainerTitleContext = new MenuId('ViewContainerTitleContext');\n\tstatic readonly ViewTitle = new MenuId('ViewTitle');\n\tstatic readonly ViewTitleContext = new MenuId('ViewTitleContext');\n\tstatic readonly CommentEditorActions = new MenuId('CommentEditorActions');\n\tstatic readonly CommentThreadTitle = new MenuId('CommentThreadTitle');\n\tstatic readonly CommentThreadActions = new MenuId('CommentThreadActions');\n\tstatic readonly CommentThreadAdditionalActions = new MenuId('CommentThreadAdditionalActions');\n\tstatic readonly CommentThreadTitleContext = new MenuId('CommentThreadTitleContext');\n\tstatic readonly CommentThreadCommentContext = new MenuId('CommentThreadCommentContext');\n\tstatic readonly CommentTitle = new MenuId('CommentTitle');\n\tstatic readonly CommentActions = new MenuId('CommentActions');\n\tstatic readonly CommentsViewThreadActions = new MenuId('CommentsViewThreadActions');\n\tstatic readonly InteractiveToolbar = new MenuId('InteractiveToolbar');\n\tstatic readonly InteractiveCellTitle = new MenuId('InteractiveCellTitle');\n\tstatic readonly InteractiveCellDelete = new MenuId('InteractiveCellDelete');\n\tstatic readonly InteractiveCellExecute = new MenuId('InteractiveCellExecute');\n\tstatic readonly InteractiveInputExecute = new MenuId('InteractiveInputExecute');\n\tstatic readonly InteractiveInputConfig = new MenuId('InteractiveInputConfig');\n\tstatic readonly ReplInputExecute = new MenuId('ReplInputExecute');\n\tstatic readonly IssueReporter = new MenuId('IssueReporter');\n\tstatic readonly NotebookToolbar = new MenuId('NotebookToolbar');\n\tstatic readonly NotebookToolbarContext = new MenuId('NotebookToolbarContext');\n\tstatic readonly NotebookStickyScrollContext = new MenuId('NotebookStickyScrollContext');\n\tstatic readonly NotebookCellTitle = new MenuId('NotebookCellTitle');\n\tstatic readonly NotebookCellDelete = new MenuId('NotebookCellDelete');\n\tstatic readonly NotebookCellInsert = new MenuId('NotebookCellInsert');\n\tstatic readonly NotebookCellBetween = new MenuId('NotebookCellBetween');\n\tstatic readonly NotebookCellListTop = new MenuId('NotebookCellTop');\n\tstatic readonly NotebookCellExecute = new MenuId('NotebookCellExecute');\n\tstatic readonly NotebookCellExecuteGoTo = new MenuId('NotebookCellExecuteGoTo');\n\tstatic readonly NotebookCellExecutePrimary = new MenuId('NotebookCellExecutePrimary');\n\tstatic readonly NotebookDiffCellInputTitle = new MenuId('NotebookDiffCellInputTitle');\n\tstatic readonly NotebookDiffDocumentMetadata = new MenuId('NotebookDiffDocumentMetadata');\n\tstatic readonly NotebookDiffCellMetadataTitle = new MenuId('NotebookDiffCellMetadataTitle');\n\tstatic readonly NotebookDiffCellOutputsTitle = new MenuId('NotebookDiffCellOutputsTitle');\n\tstatic readonly NotebookOutputToolbar = new MenuId('NotebookOutputToolbar');\n\tstatic readonly NotebookOutlineFilter = new MenuId('NotebookOutlineFilter');\n\tstatic readonly NotebookOutlineActionMenu = new MenuId('NotebookOutlineActionMenu');\n\tstatic readonly NotebookEditorLayoutConfigure = new MenuId('NotebookEditorLayoutConfigure');\n\tstatic readonly NotebookKernelSource = new MenuId('NotebookKernelSource');\n\tstatic readonly BulkEditTitle = new MenuId('BulkEditTitle');\n\tstatic readonly BulkEditContext = new MenuId('BulkEditContext');\n\tstatic readonly TimelineItemContext = new MenuId('TimelineItemContext');\n\tstatic readonly TimelineTitle = new MenuId('TimelineTitle');\n\tstatic readonly TimelineTitleContext = new MenuId('TimelineTitleContext');\n\tstatic readonly TimelineFilterSubMenu = new MenuId('TimelineFilterSubMenu');\n\tstatic readonly AgentSessionsTitle = new MenuId('AgentSessionsTitle');\n\tstatic readonly AgentSessionsFilterSubMenu = new MenuId('AgentSessionsFilterSubMenu');\n\tstatic readonly AccountsContext = new MenuId('AccountsContext');\n\tstatic readonly SidebarTitle = new MenuId('SidebarTitle');\n\tstatic readonly PanelTitle = new MenuId('PanelTitle');\n\tstatic readonly AuxiliaryBarTitle = new MenuId('AuxiliaryBarTitle');\n\tstatic readonly TerminalInstanceContext = new MenuId('TerminalInstanceContext');\n\tstatic readonly TerminalEditorInstanceContext = new MenuId('TerminalEditorInstanceContext');\n\tstatic readonly TerminalNewDropdownContext = new MenuId('TerminalNewDropdownContext');\n\tstatic readonly TerminalTabContext = new MenuId('TerminalTabContext');\n\tstatic readonly TerminalTabEmptyAreaContext = new MenuId('TerminalTabEmptyAreaContext');\n\tstatic readonly TerminalStickyScrollContext = new MenuId('TerminalStickyScrollContext');\n\tstatic readonly WebviewContext = new MenuId('WebviewContext');\n\tstatic readonly InlineCompletionsActions = new MenuId('InlineCompletionsActions');\n\tstatic readonly InlineEditsActions = new MenuId('InlineEditsActions');\n\tstatic readonly NewFile = new MenuId('NewFile');\n\tstatic readonly MergeInput1Toolbar = new MenuId('MergeToolbar1Toolbar');\n\tstatic readonly MergeInput2Toolbar = new MenuId('MergeToolbar2Toolbar');\n\tstatic readonly MergeBaseToolbar = new MenuId('MergeBaseToolbar');\n\tstatic readonly MergeInputResultToolbar = new MenuId('MergeToolbarResultToolbar');\n\tstatic readonly InlineSuggestionToolbar = new MenuId('InlineSuggestionToolbar');\n\tstatic readonly InlineEditToolbar = new MenuId('InlineEditToolbar');\n\tstatic readonly ChatContext = new MenuId('ChatContext');\n\tstatic readonly ChatCodeBlock = new MenuId('ChatCodeblock');\n\tstatic readonly ChatCompareBlock = new MenuId('ChatCompareBlock');\n\tstatic readonly ChatMessageTitle = new MenuId('ChatMessageTitle');\n\tstatic readonly ChatWelcomeContext = new MenuId('ChatWelcomeContext');\n\tstatic readonly ChatMessageFooter = new MenuId('ChatMessageFooter');\n\tstatic readonly ChatExecute = new MenuId('ChatExecute');\n\tstatic readonly ChatInput = new MenuId('ChatInput');\n\tstatic readonly ChatInputSide = new MenuId('ChatInputSide');\n\tstatic readonly ChatModePicker = new MenuId('ChatModePicker');\n\tstatic readonly ChatEditingWidgetToolbar = new MenuId('ChatEditingWidgetToolbar');\n\tstatic readonly ChatEditingEditorContent = new MenuId('ChatEditingEditorContent');\n\tstatic readonly ChatEditingEditorHunk = new MenuId('ChatEditingEditorHunk');\n\tstatic readonly ChatEditingDeletedNotebookCell = new MenuId('ChatEditingDeletedNotebookCell');\n\tstatic readonly ChatInputAttachmentToolbar = new MenuId('ChatInputAttachmentToolbar');\n\tstatic readonly ChatEditingWidgetModifiedFilesToolbar = new MenuId('ChatEditingWidgetModifiedFilesToolbar');\n\tstatic readonly ChatInputResourceAttachmentContext = new MenuId('ChatInputResourceAttachmentContext');\n\tstatic readonly ChatInputSymbolAttachmentContext = new MenuId('ChatInputSymbolAttachmentContext');\n\tstatic readonly ChatInlineResourceAnchorContext = new MenuId('ChatInlineResourceAnchorContext');\n\tstatic readonly ChatInlineSymbolAnchorContext = new MenuId('ChatInlineSymbolAnchorContext');\n\tstatic readonly ChatMessageCheckpoint: MenuId = new MenuId('ChatMessageCheckpoint');\n\tstatic readonly ChatMessageRestoreCheckpoint: MenuId = new MenuId('ChatMessageRestoreCheckpoint');\n\tstatic readonly ChatNewMenu = new MenuId('ChatNewMenu');\n\tstatic readonly ChatEditingCodeBlockContext = new MenuId('ChatEditingCodeBlockContext');\n\tstatic readonly ChatTitleBarMenu = new MenuId('ChatTitleBarMenu');\n\tstatic readonly ChatAttachmentsContext = new MenuId('ChatAttachmentsContext');\n\tstatic readonly ChatToolOutputResourceToolbar = new MenuId('ChatToolOutputResourceToolbar');\n\tstatic readonly ChatTextEditorMenu = new MenuId('ChatTextEditorMenu');\n\tstatic readonly ChatToolOutputResourceContext = new MenuId('ChatToolOutputResourceContext');\n\tstatic readonly ChatMultiDiffContext = new MenuId('ChatMultiDiffContext');\n\tstatic readonly ChatSessionsMenu = new MenuId('ChatSessionsMenu');\n\tstatic readonly ChatSessionsCreateSubMenu = new MenuId('ChatSessionsCreateSubMenu');\n\tstatic readonly ChatConfirmationMenu = new MenuId('ChatConfirmationMenu');\n\tstatic readonly ChatEditorInlineExecute = new MenuId('ChatEditorInputExecute');\n\tstatic readonly ChatEditorInlineInputSide = new MenuId('ChatEditorInputSide');\n\tstatic readonly AccessibleView = new MenuId('AccessibleView');\n\tstatic readonly MultiDiffEditorFileToolbar = new MenuId('MultiDiffEditorFileToolbar');\n\tstatic readonly DiffEditorHunkToolbar = new MenuId('DiffEditorHunkToolbar');\n\tstatic readonly DiffEditorSelectionToolbar = new MenuId('DiffEditorSelectionToolbar');\n\n\treadonly id: string;\n\n\t/**\n\t * Create a new `MenuId` with the unique identifier. Will throw if a menu\n\t * with the identifier already exists, use `MenuId.for(ident)` or a unique\n\t * identifier\n\t */\n\tconstructor(identifier: string) {\n\t\tif (MenuId._instances.has(identifier)) {\n\t\t\tthrow new TypeError(`MenuId with identifier '${identifier}' already exists. Use MenuId.for(ident) or a unique identifier`);\n\t\t}\n\t\tMenuId._instances.set(identifier, this);\n\t\tthis.id = identifier;\n\t}\n}\n\nexport interface IMenuActionOptions {\n\targ?: unknown;\n\tshouldForwardArgs?: boolean;\n\trenderShortTitle?: boolean;\n}\n\nexport interface IMenuChangeEvent {\n\treadonly menu: IMenu;\n\treadonly isStructuralChange: boolean;\n\treadonly isToggleChange: boolean;\n\treadonly isEnablementChange: boolean;\n}\n\nexport interface IMenu extends IDisposable {\n\treadonly onDidChange: Event<IMenuChangeEvent>;\n\tgetActions(options?: IMenuActionOptions): [string, Array<MenuItemAction | SubmenuItemAction>][];\n}\n\nexport const IMenuService = createDecorator<IMenuService>('menuService');\n\nexport interface IMenuCreateOptions {\n\temitEventsForSubmenuChanges?: boolean;\n\teventDebounceDelay?: number;\n}\n\nexport interface IMenuService {\n\n\treadonly _serviceBrand: undefined;\n\n\t/**\n\t * Consider using getMenuActions if you don't need to listen to events.\n\t *\n\t * Create a new menu for the given menu identifier. A menu sends events when it's entries\n\t * have changed (placement, enablement, checked-state). By default it does not send events for\n\t * submenu entries. That is more expensive and must be explicitly enabled with the\n\t * `emitEventsForSubmenuChanges` flag.\n\t */\n\tcreateMenu(id: MenuId, contextKeyService: IContextKeyService, options?: IMenuCreateOptions): IMenu;\n\n\t/**\n\t * Creates a new menu, gets the actions, and then disposes of the menu.\n\t */\n\tgetMenuActions(id: MenuId, contextKeyService: IContextKeyService, options?: IMenuActionOptions): [string, Array<MenuItemAction | SubmenuItemAction>][];\n\n\t/**\n\t * Reset **all** menu item hidden states.\n\t */\n\tresetHiddenStates(): void;\n\n\t/**\n\t * Reset the menu's hidden states.\n\t */\n\tresetHiddenStates(menuIds: readonly MenuId[] | undefined): void;\n}\n\ntype ICommandsMap = Map<string, ICommandAction>;\n\nexport interface IMenuRegistryChangeEvent {\n\thas(id: MenuId): boolean;\n}\n\nclass MenuRegistryChangeEvent {\n\n\tprivate static _all = new Map<MenuId, MenuRegistryChangeEvent>();\n\n\tstatic for(id: MenuId): MenuRegistryChangeEvent {\n\t\tlet value = this._all.get(id);\n\t\tif (!value) {\n\t\t\tvalue = new MenuRegistryChangeEvent(id);\n\t\t\tthis._all.set(id, value);\n\t\t}\n\t\treturn value;\n\t}\n\n\tstatic merge(events: IMenuRegistryChangeEvent[]): IMenuRegistryChangeEvent {\n\t\tconst ids = new Set<MenuId>();\n\t\tfor (const item of events) {\n\t\t\tif (item instanceof MenuRegistryChangeEvent) {\n\t\t\t\tids.add(item.id);\n\t\t\t}\n\t\t}\n\t\treturn ids;\n\t}\n\n\treadonly has: (id: MenuId) => boolean;\n\n\tprivate constructor(private readonly id: MenuId) {\n\t\tthis.has = candidate => candidate === id;\n\t}\n}\n\nexport interface IMenuRegistry {\n\treadonly onDidChangeMenu: Event<IMenuRegistryChangeEvent>;\n\taddCommand(userCommand: ICommandAction): IDisposable;\n\tappendMenuItem(menu: MenuId, item: IMenuItem | ISubmenuItem): IDisposable;\n\tgetMenuItems(loc: MenuId): Array<IMenuItem | ISubmenuItem>;\n}\n\nexport const MenuRegistry: IMenuRegistry = new class implements IMenuRegistry {\n\n\tprivate readonly _commands = new Map<string, ICommandAction>();\n\tprivate readonly _menuItems = new Map<MenuId, LinkedList<IMenuItem | ISubmenuItem>>();\n\tprivate readonly _onDidChangeMenu = new MicrotaskEmitter<IMenuRegistryChangeEvent>({\n\t\tmerge: MenuRegistryChangeEvent.merge\n\t});\n\n\treadonly onDidChangeMenu: Event<IMenuRegistryChangeEvent> = this._onDidChangeMenu.event;\n\n\taddCommand(command: ICommandAction): IDisposable {\n\t\tthis._commands.set(command.id, command);\n\t\tthis._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(MenuId.CommandPalette));\n\n\t\treturn markAsSingleton(toDisposable(() => {\n\t\t\tif (this._commands.delete(command.id)) {\n\t\t\t\tthis._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(MenuId.CommandPalette));\n\t\t\t}\n\t\t}));\n\t}\n\n\tgetCommand(id: string): ICommandAction | undefined {\n\t\treturn this._commands.get(id);\n\t}\n\n\tgetCommands(): ICommandsMap {\n\t\tconst map = new Map<string, ICommandAction>();\n\t\tthis._commands.forEach((value, key) => map.set(key, value));\n\t\treturn map;\n\t}\n\n\tappendMenuItem(id: MenuId, item: IMenuItem | ISubmenuItem): IDisposable {\n\t\tlet list = this._menuItems.get(id);\n\t\tif (!list) {\n\t\t\tlist = new LinkedList();\n\t\t\tthis._menuItems.set(id, list);\n\t\t}\n\t\tconst rm = list.push(item);\n\t\tthis._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(id));\n\t\treturn markAsSingleton(toDisposable(() => {\n\t\t\trm();\n\t\t\tthis._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(id));\n\t\t}));\n\t}\n\n\tappendMenuItems(items: Iterable<{ id: MenuId; item: IMenuItem | ISubmenuItem }>): IDisposable {\n\t\tconst result = new DisposableStore();\n\t\tfor (const { id, item } of items) {\n\t\t\tresult.add(this.appendMenuItem(id, item));\n\t\t}\n\t\treturn result;\n\t}\n\n\tgetMenuItems(id: MenuId): Array<IMenuItem | ISubmenuItem> {\n\t\tlet result: Array<IMenuItem | ISubmenuItem>;\n\t\tif (this._menuItems.has(id)) {\n\t\t\tresult = [...this._menuItems.get(id)!];\n\t\t} else {\n\t\t\tresult = [];\n\t\t}\n\t\tif (id === MenuId.CommandPalette) {\n\t\t\t// CommandPalette is special because it shows\n\t\t\t// all commands by default\n\t\t\tthis._appendImplicitItems(result);\n\t\t}\n\t\treturn result;\n\t}\n\n\tprivate _appendImplicitItems(result: Array<IMenuItem | ISubmenuItem>) {\n\t\tconst set = new Set<string>();\n\n\t\tfor (const item of result) {\n\t\t\tif (isIMenuItem(item)) {\n\t\t\t\tset.add(item.command.id);\n\t\t\t\tif (item.alt) {\n\t\t\t\t\tset.add(item.alt.id);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis._commands.forEach((command, id) => {\n\t\t\tif (!set.has(id)) {\n\t\t\t\tresult.push({ command });\n\t\t\t}\n\t\t});\n\t}\n};\n\nexport class SubmenuItemAction extends SubmenuAction {\n\n\tconstructor(\n\t\treadonly item: ISubmenuItem,\n\t\treadonly hideActions: IMenuItemHide | undefined,\n\t\tactions: readonly IAction[],\n\t) {\n\t\tsuper(`submenuitem.${item.submenu.id}`, typeof item.title === 'string' ? item.title : item.title.value, actions, 'submenu');\n\t}\n}\n\nexport interface IMenuItemHide {\n\treadonly isHidden: boolean;\n\treadonly hide: IAction;\n\treadonly toggle: IAction;\n}\n\n// implements IAction, does NOT extend Action, so that no one\n// subscribes to events of Action or modified properties\nexport class MenuItemAction implements IAction {\n\n\tstatic label(action: ICommandAction, options?: IMenuActionOptions): string {\n\t\treturn options?.renderShortTitle && action.shortTitle\n\t\t\t? (typeof action.shortTitle === 'string' ? action.shortTitle : action.shortTitle.value)\n\t\t\t: (typeof action.title === 'string' ? action.title : action.title.value);\n\t}\n\n\treadonly item: ICommandAction;\n\treadonly alt: MenuItemAction | undefined;\n\n\tprivate readonly _options: IMenuActionOptions | undefined;\n\n\treadonly id: string;\n\treadonly label: string;\n\treadonly tooltip: string;\n\treadonly class: string | undefined;\n\treadonly enabled: boolean;\n\treadonly checked?: boolean;\n\n\tconstructor(\n\t\titem: ICommandAction,\n\t\talt: ICommandAction | undefined,\n\t\toptions: IMenuActionOptions | undefined,\n\t\treadonly hideActions: IMenuItemHide | undefined,\n\t\treadonly menuKeybinding: IAction | undefined,\n\t\t@IContextKeyService contextKeyService: IContextKeyService,\n\t\t@ICommandService private _commandService: ICommandService\n\t) {\n\t\tthis.id = item.id;\n\t\tthis.label = MenuItemAction.label(item, options);\n\t\tthis.tooltip = (typeof item.tooltip === 'string' ? item.tooltip : item.tooltip?.value) ?? '';\n\t\tthis.enabled = !item.precondition || contextKeyService.contextMatchesRules(item.precondition);\n\t\tthis.checked = undefined;\n\n\t\tlet icon: ThemeIcon | undefined;\n\n\t\tif (item.toggled) {\n\t\t\tconst toggled = ((item.toggled as { condition: ContextKeyExpression }).condition ? item.toggled : { condition: item.toggled }) as {\n\t\t\t\tcondition: ContextKeyExpression; icon?: Icon; tooltip?: string | ILocalizedString; title?: string | ILocalizedString;\n\t\t\t};\n\t\t\tthis.checked = contextKeyService.contextMatchesRules(toggled.condition);\n\t\t\tif (this.checked && toggled.tooltip) {\n\t\t\t\tthis.tooltip = typeof toggled.tooltip === 'string' ? toggled.tooltip : toggled.tooltip.value;\n\t\t\t}\n\n\t\t\tif (this.checked && ThemeIcon.isThemeIcon(toggled.icon)) {\n\t\t\t\ticon = toggled.icon;\n\t\t\t}\n\n\t\t\tif (this.checked && toggled.title) {\n\t\t\t\tthis.label = typeof toggled.title === 'string' ? toggled.title : toggled.title.value;\n\t\t\t}\n\t\t}\n\n\t\tif (!icon) {\n\t\t\ticon = ThemeIcon.isThemeIcon(item.icon) ? item.icon : undefined;\n\t\t}\n\n\t\tthis.item = item;\n\t\tthis.alt = alt ? new MenuItemAction(alt, undefined, options, hideActions, undefined, contextKeyService, _commandService) : undefined;\n\t\tthis._options = options;\n\t\tthis.class = icon && ThemeIcon.asClassName(icon);\n\n\t}\n\n\trun(...args: unknown[]): Promise<void> {\n\t\tlet runArgs: unknown[] = [];\n\n\t\tif (this._options?.arg) {\n\t\t\trunArgs = [...runArgs, this._options.arg];\n\t\t}\n\n\t\tif (this._options?.shouldForwardArgs) {\n\t\t\trunArgs = [...runArgs, ...args];\n\t\t}\n\n\t\treturn this._commandService.executeCommand(this.id, ...runArgs);\n\t}\n}\n\n//#region --- IAction2\n\ntype OneOrN<T> = T | T[];\n\ninterface IAction2CommonOptions extends ICommandAction {\n\t/**\n\t * One or many menu items.\n\t */\n\tmenu?: OneOrN<{ id: MenuId; precondition?: null } & Omit<IMenuItem, 'command'>>;\n\n\t/**\n\t * One keybinding.\n\t */\n\tkeybinding?: OneOrN<Omit<IKeybindingRule, 'id'>>;\n}\n\ninterface IBaseAction2Options extends IAction2CommonOptions {\n\n\t/**\n\t * This type is used when an action is not going to show up in the command palette.\n\t * In that case, it's able to use a string for the `title` and `category` properties.\n\t */\n\tf1?: false;\n}\n\nexport interface ICommandPaletteOptions extends IAction2CommonOptions {\n\n\t/**\n\t * The title of the command that will be displayed in the command palette after the category.\n\t * This overrides {@link ICommandAction.title} to ensure a string isn't used so that the title\n\t * includes the localized value and the original value for users using language packs.\n\t */\n\ttitle: ICommandActionTitle;\n\n\t/**\n\t * The category of the command that will be displayed in the command palette before the title suffixed.\n\t * with a colon This overrides {@link ICommandAction.title} to ensure a string isn't used so that\n\t * the title includes the localized value and the original value for users using language packs.\n\t */\n\tcategory?: keyof typeof Categories | ILocalizedString;\n\n\t/**\n\t * Shorthand to add this command to the command palette. Note: this is not the only way to declare that\n\t * a command should be in the command palette... however, enforcing ILocalizedString in the other scenarios\n\t * is much more challenging and this gets us most of the way there.\n\t */\n\tf1: true;\n}\n\nexport type IAction2Options = ICommandPaletteOptions | IBaseAction2Options;\n\nexport interface IAction2F1RequiredOptions {\n\ttitle: ICommandActionTitle;\n}\n\nexport abstract class Action2 {\n\tconstructor(readonly desc: Readonly<IAction2Options>) { }\n\tabstract run(accessor: ServicesAccessor, ...args: unknown[]): void;\n}\n\nexport function registerAction2(ctor: { new(): Action2 }): IDisposable {\n\tconst disposables: IDisposable[] = []; // not using `DisposableStore` to reduce startup perf cost\n\tconst action = new ctor();\n\n\tconst { f1, menu, keybinding, ...command } = action.desc;\n\n\tif (CommandsRegistry.getCommand(command.id)) {\n\t\tthrow new Error(`Cannot register two commands with the same id: ${command.id}`);\n\t}\n\n\t// command\n\tdisposables.push(CommandsRegistry.registerCommand({\n\t\tid: command.id,\n\t\thandler: (accessor, ...args) => action.run(accessor, ...args),\n\t\tmetadata: command.metadata ?? { description: action.desc.title }\n\t}));\n\n\t// menu\n\tif (Array.isArray(menu)) {\n\t\tfor (const item of menu) {\n\t\t\tdisposables.push(MenuRegistry.appendMenuItem(item.id, { command: { ...command, precondition: item.precondition === null ? undefined : command.precondition }, ...item }));\n\t\t}\n\n\t} else if (menu) {\n\t\tdisposables.push(MenuRegistry.appendMenuItem(menu.id, { command: { ...command, precondition: menu.precondition === null ? undefined : command.precondition }, ...menu }));\n\t}\n\tif (f1) {\n\t\tdisposables.push(MenuRegistry.appendMenuItem(MenuId.CommandPalette, { command, when: command.precondition }));\n\t\tdisposables.push(MenuRegistry.addCommand(command));\n\t}\n\n\t// keybinding\n\tif (Array.isArray(keybinding)) {\n\t\tfor (const item of keybinding) {\n\t\t\tdisposables.push(KeybindingsRegistry.registerKeybindingRule({\n\t\t\t\t...item,\n\t\t\t\tid: command.id,\n\t\t\t\twhen: command.precondition ? ContextKeyExpr.and(command.precondition, item.when) : item.when\n\t\t\t}));\n\t\t}\n\t} else if (keybinding) {\n\t\tdisposables.push(KeybindingsRegistry.registerKeybindingRule({\n\t\t\t...keybinding,\n\t\t\tid: command.id,\n\t\t\twhen: command.precondition ? ContextKeyExpr.and(command.precondition, keybinding.when) : keybinding.when\n\t\t}));\n\t}\n\n\treturn {\n\t\tdispose() {\n\t\t\tdispose(disposables);\n\t\t}\n\t};\n}\n//#endregion\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "monaco-editor-core",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.56.0-dev-
|
|
4
|
+
"version": "0.56.0-dev-20251124",
|
|
5
5
|
"description": "A browser based code editor",
|
|
6
6
|
"author": "Microsoft Corporation",
|
|
7
7
|
"license": "MIT",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"bugs": {
|
|
15
15
|
"url": "https://github.com/microsoft/vscode/issues"
|
|
16
16
|
},
|
|
17
|
-
"vscodeCommitId": "
|
|
17
|
+
"vscodeCommitId": "6064ded0ea2b38772fb11a67e2f78371a6a5ea7a",
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"marked": "14.0.0",
|
|
20
20
|
"dompurify": "3.2.7"
|