@codingame/monaco-vscode-api 1.80.0 → 1.80.1

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.
Files changed (98) hide show
  1. package/README.md +2 -1
  2. package/dist/api.js +6 -6
  3. package/dist/default-extensions/npm/npmBrowserMain.js.map +1 -1
  4. package/dist/default-extensions/typescript-language-features/tsserver.web.js.map +1 -1
  5. package/dist/missing-services.js +4 -1
  6. package/dist/monaco.js +4 -0
  7. package/dist/override/vs/platform/dialogs/common/dialogs.js +7 -0
  8. package/dist/service-override/dialogs.js +2 -1
  9. package/dist/service-override/extensions.js +2 -1
  10. package/dist/service-override/keybindings.js +1 -0
  11. package/dist/service-override/languageDetectionWorker.d.ts +5 -0
  12. package/dist/service-override/languageDetectionWorker.js +15 -0
  13. package/dist/service-override/layout.js +12 -1
  14. package/dist/service-override/snippets.js +1 -0
  15. package/dist/service-override/views.d.ts +24 -2
  16. package/dist/service-override/views.js +119 -12
  17. package/dist/services.js +2 -1
  18. package/dist/vscode/vs/platform/audioCues/browser/media/all.mp3.js +17 -17
  19. package/dist/vscode/vs/platform/diagnostics/common/diagnostics.js +27 -0
  20. package/dist/vscode/vs/platform/dialogs/common/dialogs.js +126 -0
  21. package/dist/vscode/vs/workbench/api/browser/mainThreadAuthentication.js +2 -1
  22. package/dist/vscode/vs/workbench/api/browser/mainThreadCustomEditors.js +2 -1
  23. package/dist/vscode/vs/workbench/api/browser/mainThreadDialogs.js +2 -1
  24. package/dist/vscode/vs/workbench/api/browser/mainThreadFileSystemEventService.js +2 -1
  25. package/dist/vscode/vs/workbench/api/browser/mainThreadMessageService.js +2 -1
  26. package/dist/vscode/vs/workbench/browser/actions/layoutActions.js +1 -0
  27. package/dist/vscode/vs/workbench/browser/actions/windowActions.js +2 -1
  28. package/dist/vscode/vs/workbench/browser/actions/workspaceActions.js +2 -1
  29. package/dist/vscode/vs/workbench/browser/actions/workspaceCommands.js +1 -0
  30. package/dist/vscode/vs/workbench/browser/parts/dialogs/dialog.web.contribution.js +2 -1
  31. package/dist/vscode/vs/workbench/browser/parts/dialogs/dialogHandler.js +2 -1
  32. package/dist/vscode/vs/workbench/browser/parts/editor/editorActions.js +2 -1
  33. package/dist/vscode/vs/workbench/browser/parts/editor/editorGroupView.js +2 -1
  34. package/dist/vscode/vs/workbench/browser/parts/editor/editorPanes.js +2 -1
  35. package/dist/vscode/vs/workbench/browser/parts/editor/editorPlaceholder.js +2 -1
  36. package/dist/vscode/vs/workbench/common/editor/editorInput.d.ts +1 -1
  37. package/dist/vscode/vs/workbench/common/theme.js +5 -5
  38. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +2 -1
  39. package/dist/vscode/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js +25 -0
  40. package/dist/vscode/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +138 -0
  41. package/dist/vscode/vs/workbench/contrib/codeActions/browser/documentationContribution.js +59 -0
  42. package/dist/vscode/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +61 -0
  43. package/dist/vscode/vs/workbench/contrib/codeActions/common/documentationExtensionPoint.js +58 -0
  44. package/dist/vscode/vs/workbench/contrib/customEditor/browser/customEditorInput.js +2 -1
  45. package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +2 -1
  46. package/dist/vscode/vs/workbench/contrib/debug/browser/debugAdapterManager.js +2 -1
  47. package/dist/vscode/vs/workbench/contrib/debug/browser/debugService.js +2 -1
  48. package/dist/vscode/vs/workbench/contrib/debug/browser/debugTaskRunner.js +2 -1
  49. package/dist/vscode/vs/workbench/contrib/debug/browser/rawDebugSession.js +2 -1
  50. package/dist/vscode/vs/workbench/contrib/debug/common/debugLifecycle.js +2 -1
  51. package/dist/vscode/vs/workbench/contrib/extensions/browser/extensionsActions.js +2 -1
  52. package/dist/vscode/vs/workbench/contrib/files/browser/fileActions.js +2 -1
  53. package/dist/vscode/vs/workbench/contrib/files/browser/fileCommands.js +2 -1
  54. package/dist/vscode/vs/workbench/contrib/files/browser/fileImportExport.js +2 -1
  55. package/dist/vscode/vs/workbench/contrib/files/browser/views/explorerViewer.js +2 -1
  56. package/dist/vscode/vs/workbench/contrib/folding/browser/folding.contribution.js +84 -0
  57. package/dist/vscode/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +172 -0
  58. package/dist/vscode/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +2 -1
  59. package/dist/vscode/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js +24 -0
  60. package/dist/vscode/vs/workbench/contrib/languageDetection/browser/languageDetection.contribution.js +132 -0
  61. package/dist/vscode/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +360 -0
  62. package/dist/vscode/vs/workbench/contrib/languageStatus/browser/media/languageStatus.css.js +4 -0
  63. package/dist/vscode/vs/workbench/contrib/list/browser/list.contribution.js +15 -0
  64. package/dist/vscode/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +2 -1
  65. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookContextKeys.js +3 -0
  66. package/dist/vscode/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +2 -1
  67. package/dist/vscode/vs/workbench/contrib/search/browser/searchView.js +2 -1
  68. package/dist/vscode/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +2 -1
  69. package/dist/vscode/vs/workbench/contrib/snippets/browser/commands/abstractSnippetsActions.js +20 -0
  70. package/dist/vscode/vs/workbench/contrib/snippets/browser/commands/configureSnippets.js +264 -0
  71. package/dist/vscode/vs/workbench/contrib/snippets/browser/commands/fileTemplateSnippets.js +87 -0
  72. package/dist/vscode/vs/workbench/contrib/snippets/browser/commands/insertSnippet.js +126 -0
  73. package/dist/vscode/vs/workbench/contrib/snippets/browser/commands/surroundWithSnippet.js +56 -0
  74. package/dist/vscode/vs/workbench/contrib/snippets/browser/snippetCodeActionProvider.js +133 -0
  75. package/dist/vscode/vs/workbench/contrib/snippets/browser/snippetPicker.js +83 -0
  76. package/dist/vscode/vs/workbench/contrib/snippets/browser/snippets.contribution.js +113 -0
  77. package/dist/vscode/vs/workbench/contrib/tasks/browser/taskQuickPick.js +2 -1
  78. package/dist/vscode/vs/workbench/contrib/tasks/browser/tasksQuickAccess.js +2 -1
  79. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +2 -1
  80. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalInstance.js +2 -1
  81. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalService.js +5 -3
  82. package/dist/vscode/vs/workbench/services/authentication/browser/authenticationService.js +1 -0
  83. package/dist/vscode/vs/workbench/services/dialogs/browser/abstractFileDialogService.js +2 -1
  84. package/dist/vscode/vs/workbench/services/dialogs/browser/simpleFileDialog.js +2 -1
  85. package/dist/vscode/vs/workbench/services/dialogs/common/dialogService.js +1 -0
  86. package/dist/vscode/vs/workbench/services/extensions/browser/extensionService.js +1 -0
  87. package/dist/vscode/vs/workbench/services/extensions/browser/extensionUrlHandler.js +1 -0
  88. package/dist/vscode/vs/workbench/services/extensions/common/abstractExtensionService.js +2 -1
  89. package/dist/vscode/vs/workbench/services/languageDetection/browser/languageDetectionSimpleWorker.js +173 -0
  90. package/dist/vscode/vs/workbench/services/languageDetection/browser/languageDetectionWorkerServiceImpl.js +257 -0
  91. package/dist/vscode/vs/workbench/services/languageDetection/common/languageDetectionWorkerService.js +2 -1
  92. package/dist/vscode/vs/workbench/services/remote/common/remoteExplorerService.js +2 -1
  93. package/dist/vscode/vs/workbench/services/textfile/browser/browserTextFileService.js +2 -1
  94. package/dist/vscode/vs/workbench/services/textfile/browser/textFileService.js +2 -1
  95. package/dist/vscode/vs/workbench/services/workspaces/browser/abstractWorkspaceEditingService.js +2 -1
  96. package/dist/workers/languageDetection.worker.js +8 -0
  97. package/monaco-editor-treemending.patch +551 -551
  98. package/package.json +3 -2
@@ -11,7 +11,7 @@ import { isEqualOrParent, isEqual, toLocalResource } from 'monaco-editor/esm/vs/
11
11
  import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
12
12
  import { generateUuid } from 'monaco-editor/esm/vs/base/common/uuid.js';
13
13
  import { localize } from 'monaco-editor/esm/vs/nls.js';
14
- import { IFileDialogService } from 'monaco-editor/esm/vs/platform/dialogs/common/dialogs.js';
14
+ import '../../../../../override/vs/platform/dialogs/common/dialogs.js';
15
15
  import { IFileService } from 'monaco-editor/esm/vs/platform/files/common/files.js';
16
16
  import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
17
17
  import { ILabelService } from 'monaco-editor/esm/vs/platform/label/common/label.js';
@@ -34,6 +34,7 @@ import { ResourceWorkingCopy } from '../../services/workingCopy/common/resourceW
34
34
  import { NO_TYPE_ID } from '../../services/workingCopy/common/workingCopy.js';
35
35
  import { IWorkingCopyFileService } from '../../services/workingCopy/common/workingCopyFileService.js';
36
36
  import { IWorkingCopyService } from '../../services/workingCopy/common/workingCopyService.js';
37
+ import { IFileDialogService } from '../../../platform/dialogs/common/dialogs.js';
37
38
  let MainThreadCustomEditors = class MainThreadCustomEditors extends Disposable {
38
39
  constructor(context, mainThreadWebview, mainThreadWebviewPanels, extensionService, storageService, workingCopyService, workingCopyFileService, _customEditorService, _editorGroupService, _editorService, _instantiationService, _webviewWorkbenchService) {
39
40
  super();
@@ -2,8 +2,9 @@ import { __decorate, __param } from '../../../../../node_modules/tslib/tslib.es6
2
2
  import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
3
3
  import { MainContext } from '../common/extHost.protocol.js';
4
4
  import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
5
- import { IFileDialogService } from 'monaco-editor/esm/vs/platform/dialogs/common/dialogs.js';
5
+ import '../../../../../override/vs/platform/dialogs/common/dialogs.js';
6
6
  import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
7
+ import { IFileDialogService } from '../../../platform/dialogs/common/dialogs.js';
7
8
  var MainThreadDialogs_1;
8
9
  let MainThreadDialogs = MainThreadDialogs_1 = class MainThreadDialogs {
9
10
  constructor(context, _fileDialogService) {
@@ -9,7 +9,7 @@ import { IBulkEditService } from 'monaco-editor/esm/vs/editor/browser/services/b
9
9
  import { IProgressService } from 'monaco-editor/esm/vs/platform/progress/common/progress.js';
10
10
  import { raceCancellation } from 'monaco-editor/esm/vs/base/common/async.js';
11
11
  import { CancellationTokenSource } from 'monaco-editor/esm/vs/base/common/cancellation.js';
12
- import { IDialogService } from 'monaco-editor/esm/vs/platform/dialogs/common/dialogs.js';
12
+ import '../../../../../override/vs/platform/dialogs/common/dialogs.js';
13
13
  import Severity from 'monaco-editor/esm/vs/base/common/severity.js';
14
14
  import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
15
15
  import { registerAction2, Action2 } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
@@ -17,6 +17,7 @@ import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
17
17
  import { IEnvironmentService } from 'monaco-editor/esm/vs/platform/environment/common/environment.js';
18
18
  import { IUriIdentityService } from 'monaco-editor/esm/vs/platform/uriIdentity/common/uriIdentity.js';
19
19
  import { reviveWorkspaceEditDto } from './mainThreadBulkEdits.js';
20
+ import { IDialogService } from '../../../platform/dialogs/common/dialogs.js';
20
21
  var MainThreadFileSystemEventService_1;
21
22
  let MainThreadFileSystemEventService = MainThreadFileSystemEventService_1 = class MainThreadFileSystemEventService {
22
23
  constructor(extHostContext, fileService, workingCopyFileService, bulkEditService, progressService, dialogService, storageService, logService, envService, uriIdentService) {
@@ -3,10 +3,11 @@ import * as nls from 'monaco-editor/esm/vs/nls.js';
3
3
  import { toAction } from 'monaco-editor/esm/vs/base/common/actions.js';
4
4
  import { MainContext } from '../common/extHost.protocol.js';
5
5
  import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
6
- import { IDialogService } from 'monaco-editor/esm/vs/platform/dialogs/common/dialogs.js';
6
+ import '../../../../../override/vs/platform/dialogs/common/dialogs.js';
7
7
  import { INotificationService } from 'monaco-editor/esm/vs/platform/notification/common/notification.js';
8
8
  import { Event } from 'monaco-editor/esm/vs/base/common/event.js';
9
9
  import { ICommandService } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
10
+ import { IDialogService } from '../../../platform/dialogs/common/dialogs.js';
10
11
  let MainThreadMessageService = class MainThreadMessageService {
11
12
  constructor(extHostContext, _notificationService, _commandService, _dialogService) {
12
13
  this._notificationService = _notificationService;
@@ -8,6 +8,7 @@ import { isMacintosh, isNative } from 'monaco-editor/esm/vs/base/common/platform
8
8
  import { IsMacNativeContext } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkeys.js';
9
9
  import { KeybindingsRegistry } from 'monaco-editor/esm/vs/platform/keybinding/common/keybindingsRegistry.js';
10
10
  import { IContextKeyService, ContextKeyExpr } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
11
+ import '../../../../../override/vs/platform/dialogs/common/dialogs.js';
11
12
  import { ToggleAuxiliaryBarAction } from '../parts/auxiliarybar/auxiliaryBarActions.js';
12
13
  import { TogglePanelAction } from '../parts/panel/panelActions.js';
13
14
  import { InEditorZenModeContext, SideBarVisibleContext, AuxiliaryBarVisibleContext, PanelVisibleContext, PanelAlignmentContext, IsFullscreenContext, IsCenteredLayoutContext } from '../../common/contextkeys.js';
@@ -1,5 +1,5 @@
1
1
  import { localize } from 'monaco-editor/esm/vs/nls.js';
2
- import { IDialogService } from 'monaco-editor/esm/vs/platform/dialogs/common/dialogs.js';
2
+ import '../../../../../override/vs/platform/dialogs/common/dialogs.js';
3
3
  import { MenuId, Action2 } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
4
4
  import { IsDevelopmentContext } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkeys.js';
5
5
  import { Categories } from 'monaco-editor/esm/vs/platform/action/common/actionCommonCategories.js';
@@ -24,6 +24,7 @@ import { ThemeIcon } from 'monaco-editor/esm/vs/base/common/themables.js';
24
24
  import { CommandsRegistry } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
25
25
  import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
26
26
  import { isFolderBackupInfo, isWorkspaceBackupInfo } from '../../../platform/backup/common/backup.js';
27
+ import { IDialogService } from '../../../platform/dialogs/common/dialogs.js';
27
28
  const inRecentFilesPickerContextKey = 'inRecentFilesPicker';
28
29
  class BaseOpenRecentAction extends Action2 {
29
30
  constructor(desc) {
@@ -2,13 +2,14 @@ import { localize } from 'monaco-editor/esm/vs/nls.js';
2
2
  import { IWorkspaceEditingService } from '../../services/workspaces/common/workspaceEditing.js';
3
3
  import { ICommandService } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
4
4
  import { SET_ROOT_FOLDER_COMMAND_ID, ADD_ROOT_FOLDER_LABEL, ADD_ROOT_FOLDER_COMMAND_ID, PICK_WORKSPACE_FOLDER_COMMAND_ID } from './workspaceCommands.js';
5
- import { IFileDialogService } from 'monaco-editor/esm/vs/platform/dialogs/common/dialogs.js';
5
+ import '../../../../../override/vs/platform/dialogs/common/dialogs.js';
6
6
  import { Action2 } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
7
7
  import { OpenFolderWorkspaceSupportContext, WorkbenchStateContext, EnterMultiRootWorkspaceSupportContext, WorkspaceFolderCountContext } from '../../common/contextkeys.js';
8
8
  import { KeyChord } from 'monaco-editor/esm/vs/base/common/keyCodes.js';
9
9
  import { ContextKeyExpr } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
10
10
  import { IsMacNativeContext } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkeys.js';
11
11
  import { Categories } from 'monaco-editor/esm/vs/platform/action/common/actionCommonCategories.js';
12
+ import { IFileDialogService } from '../../../platform/dialogs/common/dialogs.js';
12
13
  const workspacesCategory = { value: ( localize('workspaces', "Workspaces")), original: 'Workspaces' };
13
14
  class OpenFileAction extends Action2 {
14
15
  constructor() {
@@ -1,4 +1,5 @@
1
1
  import { localize } from 'monaco-editor/esm/vs/nls.js';
2
+ import '../../../../../override/vs/platform/dialogs/common/dialogs.js';
2
3
  const ADD_ROOT_FOLDER_COMMAND_ID = 'addRootFolder';
3
4
  const ADD_ROOT_FOLDER_LABEL = { value: ( localize('addFolderToWorkspace', "Add Folder to Workspace...")), original: 'Add Folder to Workspace...' };
4
5
  const SET_ROOT_FOLDER_COMMAND_ID = 'setRootFolder';
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __param } from '../../../../../../node_modules/tslib/tslib.es6.js';
2
2
  import { IClipboardService } from 'monaco-editor/esm/vs/platform/clipboard/common/clipboardService.js';
3
- import { IDialogService } from 'monaco-editor/esm/vs/platform/dialogs/common/dialogs.js';
3
+ import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
4
4
  import { IKeybindingService } from 'monaco-editor/esm/vs/platform/keybinding/common/keybinding.js';
5
5
  import { ILayoutService } from 'monaco-editor/esm/vs/platform/layout/browser/layoutService.js';
6
6
  import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
@@ -10,6 +10,7 @@ import { Extensions } from '../../../common/contributions.js';
10
10
  import { BrowserDialogHandler } from './dialogHandler.js';
11
11
  import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
12
12
  import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
13
+ import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
13
14
  let DialogHandlerContribution = class DialogHandlerContribution extends Disposable {
14
15
  constructor(dialogService, logService, layoutService, keybindingService, instantiationService, productService, clipboardService) {
15
16
  super();
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __param } from '../../../../../../node_modules/tslib/tslib.es6.js';
2
2
  import { localize } from 'monaco-editor/esm/vs/nls.js';
3
- import { AbstractDialogHandler } from 'monaco-editor/esm/vs/platform/dialogs/common/dialogs.js';
3
+ import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
4
4
  import { ILayoutService } from 'monaco-editor/esm/vs/platform/layout/browser/layoutService.js';
5
5
  import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
6
6
  import Severity from 'monaco-editor/esm/vs/base/common/severity.js';
@@ -14,6 +14,7 @@ import { fromNow } from '../../../../base/common/date.js';
14
14
  import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
15
15
  import { MarkdownRenderer } from 'monaco-editor/esm/vs/editor/contrib/markdownRenderer/browser/markdownRenderer.js';
16
16
  import { defaultButtonStyles, defaultCheckboxStyles, defaultInputBoxStyles, defaultDialogStyles } from 'monaco-editor/esm/vs/platform/theme/browser/defaultStyles.js';
17
+ import { AbstractDialogHandler } from '../../../../platform/dialogs/common/dialogs.js';
17
18
  let BrowserDialogHandler = class BrowserDialogHandler extends AbstractDialogHandler {
18
19
  constructor(logService, layoutService, keybindingService, instantiationService, productService, clipboardService) {
19
20
  super();
@@ -13,7 +13,7 @@ import { preferredSideBySideGroupDirection, IEditorGroupsService } from '../../.
13
13
  import { IEditorService } from '../../../services/editor/common/editorService.js';
14
14
  import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
15
15
  import { IWorkspacesService } from '../../../../platform/workspaces/common/workspaces.js';
16
- import { IDialogService, IFileDialogService } from 'monaco-editor/esm/vs/platform/dialogs/common/dialogs.js';
16
+ import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
17
17
  import { IQuickInputService, ItemActivation } from 'monaco-editor/esm/vs/platform/quickinput/common/quickInput.js';
18
18
  import { ActiveGroupEditorsByMostRecentlyUsedQuickAccess, AllEditorsByAppearanceQuickAccess, AllEditorsByMostRecentlyUsedQuickAccess } from './editorQuickAccess.js';
19
19
  import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
@@ -27,6 +27,7 @@ import { KeyChord } from 'monaco-editor/esm/vs/base/common/keyCodes.js';
27
27
  import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
28
28
  import { Categories } from 'monaco-editor/esm/vs/platform/action/common/actionCommonCategories.js';
29
29
  import { ActiveEditorGroupEmptyContext, ActiveEditorAvailableEditorIdsContext } from '../../../common/contextkeys.js';
30
+ import { IDialogService, IFileDialogService } from '../../../../platform/dialogs/common/dialogs.js';
30
31
  class ExecuteCommandAction extends Action2 {
31
32
  constructor(desc, commandId, commandArgs) {
32
33
  super(desc);
@@ -37,7 +37,7 @@ import { getMimeTypes } from 'monaco-editor/esm/vs/editor/common/services/langua
37
37
  import { extname, isEqual } from 'monaco-editor/esm/vs/base/common/resources.js';
38
38
  import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
39
39
  import { EditorActivation } from 'monaco-editor/esm/vs/platform/editor/common/editor.js';
40
- import { IFileDialogService } from 'monaco-editor/esm/vs/platform/dialogs/common/dialogs.js';
40
+ import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
41
41
  import { IFilesConfigurationService } from '../../../services/filesConfiguration/common/filesConfigurationService.js';
42
42
  import { withNullAsUndefined } from 'monaco-editor/esm/vs/base/common/types.js';
43
43
  import { IUriIdentityService } from 'monaco-editor/esm/vs/platform/uriIdentity/common/uriIdentity.js';
@@ -46,6 +46,7 @@ import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
46
46
  import { TelemetryTrustedValue } from '../../../../platform/telemetry/common/telemetryUtils.js';
47
47
  import { defaultProgressBarStyles } from 'monaco-editor/esm/vs/platform/theme/browser/defaultStyles.js';
48
48
  import { EditorGroupWatermark } from './editorGroupWatermark.js';
49
+ import { IFileDialogService } from '../../../../platform/dialogs/common/dialogs.js';
49
50
  let EditorGroupView = class EditorGroupView extends Themable {
50
51
  static createNew(accessor, index, instantiationService) {
51
52
  return instantiationService.createInstance(EditorGroupView, accessor, null, index);
@@ -17,7 +17,8 @@ import { EditorOpenSource } from 'monaco-editor/esm/vs/platform/editor/common/ed
17
17
  import { isCancellationError } from 'monaco-editor/esm/vs/base/common/errors.js';
18
18
  import { toErrorMessage } from 'monaco-editor/esm/vs/base/common/errorMessage.js';
19
19
  import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
20
- import { IDialogService } from 'monaco-editor/esm/vs/platform/dialogs/common/dialogs.js';
20
+ import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
21
+ import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
21
22
  let EditorPanes = class EditorPanes extends Disposable {
22
23
  get minimumWidth() { return this._activeEditorPane?.minimumWidth ?? DEFAULT_EDITOR_MIN_DIMENSIONS.width; }
23
24
  get minimumHeight() { return this._activeEditorPane?.minimumHeight ?? DEFAULT_EDITOR_MIN_DIMENSIONS.height; }
@@ -20,8 +20,9 @@ import { defaultButtonStyles } from 'monaco-editor/esm/vs/platform/theme/browser
20
20
  import { SimpleIconLabel } from '../../../../base/browser/ui/iconLabel/simpleIconLabel.js';
21
21
  import { IFileService } from 'monaco-editor/esm/vs/platform/files/common/files.js';
22
22
  import { toErrorMessage } from 'monaco-editor/esm/vs/base/common/errorMessage.js';
23
- import { IDialogService } from 'monaco-editor/esm/vs/platform/dialogs/common/dialogs.js';
23
+ import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
24
24
  import { truncate } from 'monaco-editor/esm/vs/base/common/strings.js';
25
+ import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
25
26
  let EditorPlaceholder = class EditorPlaceholder extends EditorPane {
26
27
  constructor(id, telemetryService, themeService, storageService) {
27
28
  super(id, telemetryService, themeService, storageService);
@@ -1,7 +1,7 @@
1
1
  import { Emitter, Event } from '../../../base/common/event.js';
2
2
  import { URI } from '../../../base/common/uri.js';
3
3
  import { IEditorOptions, IEditorModel } from '../../../platform/editor/common/editor.js';
4
- import { AbstractEditorInput, EditorInputCapabilities, Verbosity, GroupIdentifier, ISaveOptions, IUntypedEditorInput, IRevertOptions, IMoveResult, IEditorDescriptor, IEditorPane, IEditorIdentifier } from '../editor.js';
4
+ import { IEditorIdentifier, AbstractEditorInput, EditorInputCapabilities, Verbosity, GroupIdentifier, ISaveOptions, IUntypedEditorInput, IRevertOptions, IMoveResult, IEditorDescriptor, IEditorPane } from '../editor.js';
5
5
  import { ConfirmResult } from '../../../platform/dialogs/common/dialogs.js';
6
6
  import { IMarkdownString } from '../../../base/common/htmlContent.js';
7
7
 
@@ -614,7 +614,7 @@ registerColor('statusBarItem.prominentHoverBackground', {
614
614
  'statusBarProminentItemHoverBackground',
615
615
  "Status bar prominent items background color when hovering. Prominent items stand out from other status bar entries to indicate importance. Change mode `Toggle Tab Key Moves Focus` from command palette to see an example. The status bar is shown in the bottom of the window."
616
616
  )));
617
- registerColor('statusBarItem.errorBackground', {
617
+ const STATUS_BAR_ERROR_ITEM_BACKGROUND = registerColor('statusBarItem.errorBackground', {
618
618
  dark: ( darken(errorForeground, .4)),
619
619
  light: ( darken(errorForeground, .4)),
620
620
  hcDark: null,
@@ -623,7 +623,7 @@ registerColor('statusBarItem.errorBackground', {
623
623
  'statusBarErrorItemBackground',
624
624
  "Status bar error items background color. Error items stand out from other status bar entries to indicate error conditions. The status bar is shown in the bottom of the window."
625
625
  )));
626
- registerColor('statusBarItem.errorForeground', {
626
+ const STATUS_BAR_ERROR_ITEM_FOREGROUND = registerColor('statusBarItem.errorForeground', {
627
627
  dark: Color.white,
628
628
  light: Color.white,
629
629
  hcDark: Color.white,
@@ -632,7 +632,7 @@ registerColor('statusBarItem.errorForeground', {
632
632
  'statusBarErrorItemForeground',
633
633
  "Status bar error items foreground color. Error items stand out from other status bar entries to indicate error conditions. The status bar is shown in the bottom of the window."
634
634
  )));
635
- registerColor('statusBarItem.warningBackground', {
635
+ const STATUS_BAR_WARNING_ITEM_BACKGROUND = registerColor('statusBarItem.warningBackground', {
636
636
  dark: ( darken(editorWarningForeground, .4)),
637
637
  light: ( darken(editorWarningForeground, .4)),
638
638
  hcDark: null,
@@ -641,7 +641,7 @@ registerColor('statusBarItem.warningBackground', {
641
641
  'statusBarWarningItemBackground',
642
642
  "Status bar warning items background color. Warning items stand out from other status bar entries to indicate warning conditions. The status bar is shown in the bottom of the window."
643
643
  )));
644
- registerColor('statusBarItem.warningForeground', {
644
+ const STATUS_BAR_WARNING_ITEM_FOREGROUND = registerColor('statusBarItem.warningForeground', {
645
645
  dark: Color.white,
646
646
  light: Color.white,
647
647
  hcDark: Color.white,
@@ -1052,4 +1052,4 @@ registerColor('window.inactiveBorder', {
1052
1052
  'windowInactiveBorder',
1053
1053
  "The color used for the border of the window when it is inactive. Only supported in the macOS and Linux desktop client when using the custom title bar."
1054
1054
  )));
1055
- export { ACTIVITY_BAR_ACTIVE_BACKGROUND, ACTIVITY_BAR_ACTIVE_BORDER, ACTIVITY_BAR_ACTIVE_FOCUS_BORDER, ACTIVITY_BAR_BACKGROUND, ACTIVITY_BAR_BADGE_BACKGROUND, ACTIVITY_BAR_BADGE_FOREGROUND, ACTIVITY_BAR_BORDER, ACTIVITY_BAR_DRAG_AND_DROP_BORDER, ACTIVITY_BAR_FOREGROUND, ACTIVITY_BAR_INACTIVE_FOREGROUND, EDITOR_DRAG_AND_DROP_BACKGROUND, EDITOR_DROP_INTO_PROMPT_BACKGROUND, EDITOR_DROP_INTO_PROMPT_BORDER, EDITOR_DROP_INTO_PROMPT_FOREGROUND, EDITOR_GROUP_BORDER, EDITOR_GROUP_EMPTY_BACKGROUND, EDITOR_GROUP_HEADER_BORDER, EDITOR_GROUP_HEADER_NO_TABS_BACKGROUND, EDITOR_GROUP_HEADER_TABS_BACKGROUND, EDITOR_GROUP_HEADER_TABS_BORDER, EDITOR_PANE_BACKGROUND, NOTIFICATIONS_BACKGROUND, NOTIFICATIONS_CENTER_BORDER, NOTIFICATIONS_CENTER_HEADER_BACKGROUND, NOTIFICATIONS_CENTER_HEADER_FOREGROUND, NOTIFICATIONS_TOAST_BORDER, PANEL_ACTIVE_TITLE_BORDER, PANEL_ACTIVE_TITLE_FOREGROUND, PANEL_BACKGROUND, PANEL_BORDER, PANEL_DRAG_AND_DROP_BORDER, PANEL_INACTIVE_TITLE_FOREGROUND, PANEL_SECTION_BORDER, PANEL_SECTION_DRAG_AND_DROP_BACKGROUND, PANEL_SECTION_HEADER_BACKGROUND, PANEL_SECTION_HEADER_BORDER, PANEL_SECTION_HEADER_FOREGROUND, SIDE_BAR_BACKGROUND, SIDE_BAR_BORDER, SIDE_BAR_DRAG_AND_DROP_BACKGROUND, SIDE_BAR_FOREGROUND, SIDE_BAR_SECTION_HEADER_BACKGROUND, SIDE_BAR_SECTION_HEADER_BORDER, SIDE_BAR_SECTION_HEADER_FOREGROUND, SIDE_BAR_TITLE_FOREGROUND, SIDE_BY_SIDE_EDITOR_HORIZONTAL_BORDER, SIDE_BY_SIDE_EDITOR_VERTICAL_BORDER, STATUS_BAR_BACKGROUND, STATUS_BAR_BORDER, STATUS_BAR_FOCUS_BORDER, STATUS_BAR_FOREGROUND, STATUS_BAR_ITEM_COMPACT_HOVER_BACKGROUND, STATUS_BAR_ITEM_FOCUS_BORDER, STATUS_BAR_ITEM_HOVER_BACKGROUND, STATUS_BAR_NO_FOLDER_BACKGROUND, STATUS_BAR_NO_FOLDER_BORDER, STATUS_BAR_NO_FOLDER_FOREGROUND, STATUS_BAR_PROMINENT_ITEM_BACKGROUND, STATUS_BAR_PROMINENT_ITEM_FOREGROUND, TAB_ACTIVE_BACKGROUND, TAB_ACTIVE_BORDER, TAB_ACTIVE_BORDER_TOP, TAB_ACTIVE_FOREGROUND, TAB_ACTIVE_MODIFIED_BORDER, TAB_BORDER, TAB_HOVER_BACKGROUND, TAB_HOVER_BORDER, TAB_HOVER_FOREGROUND, TAB_INACTIVE_BACKGROUND, TAB_INACTIVE_FOREGROUND, TAB_INACTIVE_MODIFIED_BORDER, TAB_LAST_PINNED_BORDER, TAB_UNFOCUSED_ACTIVE_BACKGROUND, TAB_UNFOCUSED_ACTIVE_BORDER, TAB_UNFOCUSED_ACTIVE_BORDER_TOP, TAB_UNFOCUSED_ACTIVE_FOREGROUND, TAB_UNFOCUSED_ACTIVE_MODIFIED_BORDER, TAB_UNFOCUSED_HOVER_BACKGROUND, TAB_UNFOCUSED_HOVER_BORDER, TAB_UNFOCUSED_HOVER_FOREGROUND, TAB_UNFOCUSED_INACTIVE_BACKGROUND, TAB_UNFOCUSED_INACTIVE_FOREGROUND, TAB_UNFOCUSED_INACTIVE_MODIFIED_BORDER, TITLE_BAR_ACTIVE_BACKGROUND, TITLE_BAR_ACTIVE_FOREGROUND, WORKBENCH_BACKGROUND };
1055
+ export { ACTIVITY_BAR_ACTIVE_BACKGROUND, ACTIVITY_BAR_ACTIVE_BORDER, ACTIVITY_BAR_ACTIVE_FOCUS_BORDER, ACTIVITY_BAR_BACKGROUND, ACTIVITY_BAR_BADGE_BACKGROUND, ACTIVITY_BAR_BADGE_FOREGROUND, ACTIVITY_BAR_BORDER, ACTIVITY_BAR_DRAG_AND_DROP_BORDER, ACTIVITY_BAR_FOREGROUND, ACTIVITY_BAR_INACTIVE_FOREGROUND, EDITOR_DRAG_AND_DROP_BACKGROUND, EDITOR_DROP_INTO_PROMPT_BACKGROUND, EDITOR_DROP_INTO_PROMPT_BORDER, EDITOR_DROP_INTO_PROMPT_FOREGROUND, EDITOR_GROUP_BORDER, EDITOR_GROUP_EMPTY_BACKGROUND, EDITOR_GROUP_HEADER_BORDER, EDITOR_GROUP_HEADER_NO_TABS_BACKGROUND, EDITOR_GROUP_HEADER_TABS_BACKGROUND, EDITOR_GROUP_HEADER_TABS_BORDER, EDITOR_PANE_BACKGROUND, NOTIFICATIONS_BACKGROUND, NOTIFICATIONS_CENTER_BORDER, NOTIFICATIONS_CENTER_HEADER_BACKGROUND, NOTIFICATIONS_CENTER_HEADER_FOREGROUND, NOTIFICATIONS_TOAST_BORDER, PANEL_ACTIVE_TITLE_BORDER, PANEL_ACTIVE_TITLE_FOREGROUND, PANEL_BACKGROUND, PANEL_BORDER, PANEL_DRAG_AND_DROP_BORDER, PANEL_INACTIVE_TITLE_FOREGROUND, PANEL_SECTION_BORDER, PANEL_SECTION_DRAG_AND_DROP_BACKGROUND, PANEL_SECTION_HEADER_BACKGROUND, PANEL_SECTION_HEADER_BORDER, PANEL_SECTION_HEADER_FOREGROUND, SIDE_BAR_BACKGROUND, SIDE_BAR_BORDER, SIDE_BAR_DRAG_AND_DROP_BACKGROUND, SIDE_BAR_FOREGROUND, SIDE_BAR_SECTION_HEADER_BACKGROUND, SIDE_BAR_SECTION_HEADER_BORDER, SIDE_BAR_SECTION_HEADER_FOREGROUND, SIDE_BAR_TITLE_FOREGROUND, SIDE_BY_SIDE_EDITOR_HORIZONTAL_BORDER, SIDE_BY_SIDE_EDITOR_VERTICAL_BORDER, STATUS_BAR_BACKGROUND, STATUS_BAR_BORDER, STATUS_BAR_ERROR_ITEM_BACKGROUND, STATUS_BAR_ERROR_ITEM_FOREGROUND, STATUS_BAR_FOCUS_BORDER, STATUS_BAR_FOREGROUND, STATUS_BAR_ITEM_COMPACT_HOVER_BACKGROUND, STATUS_BAR_ITEM_FOCUS_BORDER, STATUS_BAR_ITEM_HOVER_BACKGROUND, STATUS_BAR_NO_FOLDER_BACKGROUND, STATUS_BAR_NO_FOLDER_BORDER, STATUS_BAR_NO_FOLDER_FOREGROUND, STATUS_BAR_PROMINENT_ITEM_BACKGROUND, STATUS_BAR_PROMINENT_ITEM_FOREGROUND, STATUS_BAR_WARNING_ITEM_BACKGROUND, STATUS_BAR_WARNING_ITEM_FOREGROUND, TAB_ACTIVE_BACKGROUND, TAB_ACTIVE_BORDER, TAB_ACTIVE_BORDER_TOP, TAB_ACTIVE_FOREGROUND, TAB_ACTIVE_MODIFIED_BORDER, TAB_BORDER, TAB_HOVER_BACKGROUND, TAB_HOVER_BORDER, TAB_HOVER_FOREGROUND, TAB_INACTIVE_BACKGROUND, TAB_INACTIVE_FOREGROUND, TAB_INACTIVE_MODIFIED_BORDER, TAB_LAST_PINNED_BORDER, TAB_UNFOCUSED_ACTIVE_BACKGROUND, TAB_UNFOCUSED_ACTIVE_BORDER, TAB_UNFOCUSED_ACTIVE_BORDER_TOP, TAB_UNFOCUSED_ACTIVE_FOREGROUND, TAB_UNFOCUSED_ACTIVE_MODIFIED_BORDER, TAB_UNFOCUSED_HOVER_BACKGROUND, TAB_UNFOCUSED_HOVER_BORDER, TAB_UNFOCUSED_HOVER_FOREGROUND, TAB_UNFOCUSED_INACTIVE_BACKGROUND, TAB_UNFOCUSED_INACTIVE_FOREGROUND, TAB_UNFOCUSED_INACTIVE_MODIFIED_BORDER, TITLE_BAR_ACTIVE_BACKGROUND, TITLE_BAR_ACTIVE_FOREGROUND, WORKBENCH_BACKGROUND };
@@ -8,7 +8,7 @@ import { ResourceTextEdit, ResourceFileEdit } from 'monaco-editor/esm/vs/editor/
8
8
  import { localize } from 'monaco-editor/esm/vs/nls.js';
9
9
  import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
10
10
  import { Extensions } from 'monaco-editor/esm/vs/platform/configuration/common/configurationRegistry.js';
11
- import { IDialogService } from 'monaco-editor/esm/vs/platform/dialogs/common/dialogs.js';
11
+ import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
12
12
  import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
13
13
  import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
14
14
  import { Progress } from 'monaco-editor/esm/vs/platform/progress/common/progress.js';
@@ -20,6 +20,7 @@ import { BulkTextEdits } from './bulkTextEdits.js';
20
20
  import { IEditorService } from '../../../services/editor/common/editorService.js';
21
21
  import { ILifecycleService } from '../../../services/lifecycle/common/lifecycle.js';
22
22
  import { IWorkingCopyService } from '../../../services/workingCopy/common/workingCopyService.js';
23
+ import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
23
24
  function liftEdits(edits) {
24
25
  return ( edits.map(edit => {
25
26
  if (ResourceTextEdit.is(edit)) {
@@ -0,0 +1,25 @@
1
+ import { __decorate, __param } from '../../../../../../node_modules/tslib/tslib.es6.js';
2
+ import { Extensions } from 'monaco-editor/esm/vs/platform/configuration/common/configurationRegistry.js';
3
+ import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
4
+ import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
5
+ import { Extensions as Extensions$1 } from '../../../common/contributions.js';
6
+ import { codeActionsExtensionPointDescriptor } from '../common/codeActionsExtensionPoint.js';
7
+ import { documentationExtensionPointDescriptor } from '../common/documentationExtensionPoint.js';
8
+ import { ExtensionsRegistry } from '../../../services/extensions/common/extensionsRegistry.js';
9
+ import { editorConfiguration, CodeActionsContribution } from './codeActionsContribution.js';
10
+ import { CodeActionDocumentationContribution } from './documentationContribution.js';
11
+ const codeActionsExtensionPoint = ( ExtensionsRegistry.registerExtensionPoint(codeActionsExtensionPointDescriptor));
12
+ const documentationExtensionPoint = ( ExtensionsRegistry.registerExtensionPoint(documentationExtensionPointDescriptor));
13
+ ( Registry.as(Extensions.Configuration))
14
+ .registerConfiguration(editorConfiguration);
15
+ let WorkbenchConfigurationContribution = class WorkbenchConfigurationContribution {
16
+ constructor(instantiationService) {
17
+ instantiationService.createInstance(CodeActionsContribution, codeActionsExtensionPoint);
18
+ instantiationService.createInstance(CodeActionDocumentationContribution, documentationExtensionPoint);
19
+ }
20
+ };
21
+ WorkbenchConfigurationContribution = ( __decorate([
22
+ ( __param(0, IInstantiationService))
23
+ ], WorkbenchConfigurationContribution));
24
+ ( Registry.as(Extensions$1.Workbench))
25
+ .registerWorkbenchContribution(WorkbenchConfigurationContribution, 4 );
@@ -0,0 +1,138 @@
1
+ import { __decorate, __param } from '../../../../../../node_modules/tslib/tslib.es6.js';
2
+ import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
3
+ import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
4
+ import { editorConfigurationBaseNode } from 'monaco-editor/esm/vs/editor/common/config/editorConfigurationSchema.js';
5
+ import { codeActionCommandId, refactorCommandId, sourceActionCommandId } from 'monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeAction.js';
6
+ import { CodeActionKind } from 'monaco-editor/esm/vs/editor/contrib/codeAction/common/types.js';
7
+ import * as nls from 'monaco-editor/esm/vs/nls.js';
8
+ import { Extensions } from 'monaco-editor/esm/vs/platform/configuration/common/configurationRegistry.js';
9
+ import { IKeybindingService } from 'monaco-editor/esm/vs/platform/keybinding/common/keybinding.js';
10
+ import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
11
+ const codeActionsOnSaveDefaultProperties = ( Object.freeze({
12
+ 'source.fixAll': {
13
+ type: 'boolean',
14
+ description: ( nls.localize(
15
+ 'codeActionsOnSave.fixAll',
16
+ "Controls whether auto fix action should be run on file save."
17
+ ))
18
+ }
19
+ }));
20
+ const codeActionsOnSaveSchema = {
21
+ oneOf: [
22
+ {
23
+ type: 'object',
24
+ properties: codeActionsOnSaveDefaultProperties,
25
+ additionalProperties: {
26
+ type: 'boolean'
27
+ },
28
+ },
29
+ {
30
+ type: 'array',
31
+ items: { type: 'string' }
32
+ }
33
+ ],
34
+ default: {},
35
+ description: ( nls.localize('codeActionsOnSave', "Code Action kinds to be run on save.")),
36
+ scope: 5 ,
37
+ };
38
+ const editorConfiguration = ( Object.freeze({
39
+ ...editorConfigurationBaseNode,
40
+ properties: {
41
+ 'editor.codeActionsOnSave': codeActionsOnSaveSchema
42
+ }
43
+ }));
44
+ let CodeActionsContribution = class CodeActionsContribution extends Disposable {
45
+ constructor(codeActionsExtensionPoint, keybindingService) {
46
+ super();
47
+ this._contributedCodeActions = [];
48
+ this._onDidChangeContributions = this._register(( new Emitter()));
49
+ codeActionsExtensionPoint.setHandler(extensionPoints => {
50
+ this._contributedCodeActions = ( extensionPoints.map(x => x.value)).flat();
51
+ this.updateConfigurationSchema(this._contributedCodeActions);
52
+ this._onDidChangeContributions.fire();
53
+ });
54
+ keybindingService.registerSchemaContribution({
55
+ getSchemaAdditions: () => this.getSchemaAdditions(),
56
+ onDidChange: this._onDidChangeContributions.event,
57
+ });
58
+ }
59
+ updateConfigurationSchema(codeActionContributions) {
60
+ const newProperties = { ...codeActionsOnSaveDefaultProperties };
61
+ for (const [sourceAction, props] of this.getSourceActions(codeActionContributions)) {
62
+ newProperties[sourceAction] = {
63
+ type: 'boolean',
64
+ description: ( nls.localize(
65
+ 'codeActionsOnSave.generic',
66
+ "Controls whether '{0}' actions should be run on file save.",
67
+ props.title
68
+ ))
69
+ };
70
+ }
71
+ codeActionsOnSaveSchema.properties = newProperties;
72
+ ( Registry.as(Extensions.Configuration))
73
+ .notifyConfigurationSchemaUpdated(editorConfiguration);
74
+ }
75
+ getSourceActions(contributions) {
76
+ const defaultKinds = ( ( Object.keys(codeActionsOnSaveDefaultProperties)).map(value => ( new CodeActionKind(value))));
77
+ const sourceActions = ( new Map());
78
+ for (const contribution of contributions) {
79
+ for (const action of contribution.actions) {
80
+ const kind = ( new CodeActionKind(action.kind));
81
+ if (CodeActionKind.Source.contains(kind)
82
+ && !( defaultKinds.some(defaultKind => defaultKind.contains(kind)))) {
83
+ sourceActions.set(kind.value, action);
84
+ }
85
+ }
86
+ }
87
+ return sourceActions;
88
+ }
89
+ getSchemaAdditions() {
90
+ const conditionalSchema = (command, actions) => {
91
+ return {
92
+ if: {
93
+ required: ['command'],
94
+ properties: {
95
+ 'command': { const: command }
96
+ }
97
+ },
98
+ then: {
99
+ properties: {
100
+ 'args': {
101
+ required: ['kind'],
102
+ properties: {
103
+ 'kind': {
104
+ anyOf: [
105
+ {
106
+ enum: ( actions.map(action => action.kind)),
107
+ enumDescriptions: ( actions.map(action => action.description ?? action.title)),
108
+ },
109
+ { type: 'string' },
110
+ ]
111
+ }
112
+ }
113
+ }
114
+ }
115
+ }
116
+ };
117
+ };
118
+ const getActions = (ofKind) => {
119
+ const allActions = ( this._contributedCodeActions.map(desc => desc.actions)).flat();
120
+ const out = ( new Map());
121
+ for (const action of allActions) {
122
+ if (!( out.has(action.kind)) && ofKind.contains(( new CodeActionKind(action.kind)))) {
123
+ out.set(action.kind, action);
124
+ }
125
+ }
126
+ return Array.from(( out.values()));
127
+ };
128
+ return [
129
+ conditionalSchema(codeActionCommandId, getActions(CodeActionKind.Empty)),
130
+ conditionalSchema(refactorCommandId, getActions(CodeActionKind.Refactor)),
131
+ conditionalSchema(sourceActionCommandId, getActions(CodeActionKind.Source)),
132
+ ];
133
+ }
134
+ };
135
+ CodeActionsContribution = ( __decorate([
136
+ ( __param(1, IKeybindingService))
137
+ ], CodeActionsContribution));
138
+ export { CodeActionsContribution, editorConfiguration };
@@ -0,0 +1,59 @@
1
+ import { __decorate, __param } from '../../../../../../node_modules/tslib/tslib.es6.js';
2
+ import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
3
+ import { ILanguageFeaturesService } from 'monaco-editor/esm/vs/editor/common/services/languageFeatures.js';
4
+ import { CodeActionKind } from 'monaco-editor/esm/vs/editor/contrib/codeAction/common/types.js';
5
+ import { ContextKeyExpr, IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
6
+ let CodeActionDocumentationContribution = class CodeActionDocumentationContribution extends Disposable {
7
+ constructor(extensionPoint, contextKeyService, languageFeaturesService) {
8
+ super();
9
+ this.contextKeyService = contextKeyService;
10
+ this.contributions = [];
11
+ this.emptyCodeActionsList = {
12
+ actions: [],
13
+ dispose: () => { }
14
+ };
15
+ this._register(languageFeaturesService.codeActionProvider.register('*', this));
16
+ extensionPoint.setHandler(points => {
17
+ this.contributions = [];
18
+ for (const documentation of points) {
19
+ if (!documentation.value.refactoring) {
20
+ continue;
21
+ }
22
+ for (const contribution of documentation.value.refactoring) {
23
+ const precondition = ContextKeyExpr.deserialize(contribution.when);
24
+ if (!precondition) {
25
+ continue;
26
+ }
27
+ this.contributions.push({
28
+ title: contribution.title,
29
+ when: precondition,
30
+ command: contribution.command
31
+ });
32
+ }
33
+ }
34
+ });
35
+ }
36
+ async provideCodeActions(_model, _range, context, _token) {
37
+ return this.emptyCodeActionsList;
38
+ }
39
+ _getAdditionalMenuItems(context, actions) {
40
+ if (context.only !== CodeActionKind.Refactor.value) {
41
+ if (!( actions.some(action => action.kind && CodeActionKind.Refactor.contains(( new CodeActionKind(action.kind)))))) {
42
+ return [];
43
+ }
44
+ }
45
+ return ( this.contributions
46
+ .filter(contribution => this.contextKeyService.contextMatchesRules(contribution.when))
47
+ .map(contribution => {
48
+ return {
49
+ id: contribution.command,
50
+ title: contribution.title
51
+ };
52
+ }));
53
+ }
54
+ };
55
+ CodeActionDocumentationContribution = ( __decorate([
56
+ ( __param(1, IContextKeyService)),
57
+ ( __param(2, ILanguageFeaturesService))
58
+ ], CodeActionDocumentationContribution));
59
+ export { CodeActionDocumentationContribution };
@@ -0,0 +1,61 @@
1
+ import * as nls from 'monaco-editor/esm/vs/nls.js';
2
+ import { languagesExtPoint } from '../../../services/language/common/languageService.js';
3
+ var CodeActionExtensionPointFields;
4
+ ( (function(CodeActionExtensionPointFields) {
5
+ CodeActionExtensionPointFields["languages"] = "languages";
6
+ CodeActionExtensionPointFields["actions"] = "actions";
7
+ CodeActionExtensionPointFields["kind"] = "kind";
8
+ CodeActionExtensionPointFields["title"] = "title";
9
+ CodeActionExtensionPointFields["description"] = "description";
10
+ })(CodeActionExtensionPointFields || (CodeActionExtensionPointFields = {})));
11
+ const codeActionsExtensionPointSchema = ( Object.freeze({
12
+ type: 'array',
13
+ markdownDescription: ( nls.localize('contributes.codeActions', "Configure which editor to use for a resource.")),
14
+ items: {
15
+ type: 'object',
16
+ required: [CodeActionExtensionPointFields.languages, CodeActionExtensionPointFields.actions],
17
+ properties: {
18
+ [CodeActionExtensionPointFields.languages]: {
19
+ type: 'array',
20
+ description: ( nls.localize(
21
+ 'contributes.codeActions.languages',
22
+ "Language modes that the code actions are enabled for."
23
+ )),
24
+ items: { type: 'string' }
25
+ },
26
+ [CodeActionExtensionPointFields.actions]: {
27
+ type: 'object',
28
+ required: [CodeActionExtensionPointFields.kind, CodeActionExtensionPointFields.title],
29
+ properties: {
30
+ [CodeActionExtensionPointFields.kind]: {
31
+ type: 'string',
32
+ markdownDescription: ( nls.localize(
33
+ 'contributes.codeActions.kind',
34
+ "`CodeActionKind` of the contributed code action."
35
+ )),
36
+ },
37
+ [CodeActionExtensionPointFields.title]: {
38
+ type: 'string',
39
+ description: ( nls.localize(
40
+ 'contributes.codeActions.title',
41
+ "Label for the code action used in the UI."
42
+ )),
43
+ },
44
+ [CodeActionExtensionPointFields.description]: {
45
+ type: 'string',
46
+ description: ( nls.localize(
47
+ 'contributes.codeActions.description',
48
+ "Description of what the code action does."
49
+ )),
50
+ },
51
+ }
52
+ }
53
+ }
54
+ }
55
+ }));
56
+ const codeActionsExtensionPointDescriptor = {
57
+ extensionPoint: 'codeActions',
58
+ deps: [languagesExtPoint],
59
+ jsonSchema: codeActionsExtensionPointSchema
60
+ };
61
+ export { codeActionsExtensionPointDescriptor };