monaco-editor-core 0.55.0-dev-20251013 → 0.55.0-dev-20251015
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.keys.json +1 -1
- package/esm/nls.messages.cs.js +9 -0
- package/esm/nls.messages.de.js +2 -2
- package/esm/nls.messages.es.js +2 -2
- package/esm/nls.messages.fr.js +2 -2
- package/esm/nls.messages.it.js +2 -2
- package/esm/nls.messages.ja.js +2 -2
- package/esm/nls.messages.js +1 -1
- package/esm/nls.messages.json +1 -1
- package/esm/nls.messages.ko.js +2 -2
- package/esm/nls.messages.pl.js +9 -0
- package/esm/nls.messages.pt-br.js +9 -0
- package/esm/nls.messages.ru.js +2 -2
- package/esm/nls.messages.tr.js +9 -0
- package/esm/nls.messages.zh-cn.js +2 -2
- package/esm/nls.messages.zh-tw.js +2 -2
- package/esm/nls.metadata.json +10 -0
- package/esm/vs/base/browser/canIUse.js +0 -1
- package/esm/vs/base/browser/canIUse.js.map +1 -1
- package/esm/vs/base/browser/domSanitize.js +31 -23
- package/esm/vs/base/browser/domSanitize.js.map +1 -1
- package/esm/vs/base/browser/dompurify/dompurify.js +188 -385
- package/esm/vs/base/browser/markdownRenderer.js +6 -1
- package/esm/vs/base/browser/markdownRenderer.js.map +1 -1
- package/esm/vs/base/browser/trustedTypes.js.map +1 -1
- package/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/esm/vs/base/browser/ui/countBadge/countBadge.css +1 -1
- package/esm/vs/base/browser/ui/toggle/toggle.js +6 -0
- package/esm/vs/base/browser/ui/toggle/toggle.js.map +1 -1
- package/esm/vs/base/common/codiconsLibrary.js +1 -0
- package/esm/vs/base/common/codiconsLibrary.js.map +1 -1
- package/esm/vs/base/common/objects.js +0 -1
- package/esm/vs/base/common/objects.js.map +1 -1
- package/esm/vs/editor/browser/controller/mouseTarget.js +2 -1
- package/esm/vs/editor/browser/controller/mouseTarget.js.map +1 -1
- package/esm/vs/editor/browser/services/abstractCodeEditorService.js +5 -0
- package/esm/vs/editor/browser/services/abstractCodeEditorService.js.map +1 -1
- package/esm/vs/editor/browser/services/codeEditorService.js.map +1 -1
- package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/copySelection.js +104 -0
- package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/copySelection.js.map +1 -0
- package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +3 -3
- package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js.map +1 -1
- package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +25 -24
- package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js.map +1 -1
- package/esm/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +5 -5
- package/esm/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +7 -3
- package/esm/vs/editor/browser/widget/diffEditor/diffEditorWidget.js.map +1 -1
- package/esm/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +8 -8
- package/esm/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js.map +1 -1
- package/esm/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
- package/esm/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +2 -2
- package/esm/vs/editor/browser/widget/diffEditor/registrations.contribution.js +5 -5
- package/esm/vs/editor/browser/widget/diffEditor/style.css +11 -0
- package/esm/vs/editor/browser/widget/multiDiffEditor/colors.js +3 -3
- package/esm/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +2 -2
- package/esm/vs/editor/common/config/editorConfigurationSchema.js +54 -54
- package/esm/vs/editor/common/config/editorOptions.js +406 -406
- package/esm/vs/editor/common/core/editorColorRegistry.js +68 -68
- package/esm/vs/editor/common/editorContextKeys.js +46 -46
- package/esm/vs/editor/common/languages/modesRegistry.js +1 -1
- package/esm/vs/editor/common/languages.js +56 -56
- package/esm/vs/editor/common/model/editStack.js +1 -1
- package/esm/vs/editor/common/standaloneStrings.js +10 -10
- package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
- package/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
- package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
- package/esm/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
- package/esm/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
- package/esm/vs/editor/contrib/clipboard/browser/clipboard.js +17 -17
- package/esm/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
- package/esm/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
- package/esm/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
- package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
- package/esm/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
- package/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
- package/esm/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
- package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
- package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
- package/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
- package/esm/vs/editor/contrib/comment/browser/comment.js +6 -6
- package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js +13 -14
- package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js.map +1 -1
- package/esm/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
- package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
- package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -9
- package/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
- package/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
- package/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
- package/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
- package/esm/vs/editor/contrib/find/browser/findController.js +16 -16
- package/esm/vs/editor/contrib/find/browser/findWidget.js +26 -26
- package/esm/vs/editor/contrib/folding/browser/folding.js +20 -20
- package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
- package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js.map +1 -1
- package/esm/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
- package/esm/vs/editor/contrib/format/browser/formatActions.js +2 -2
- package/esm/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
- package/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
- package/esm/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
- package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
- package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
- package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
- package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
- package/esm/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
- package/esm/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
- package/esm/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
- package/esm/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
- package/esm/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
- package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +9 -9
- package/esm/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
- package/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
- package/esm/vs/editor/contrib/indentation/browser/indentation.js +20 -20
- package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +19 -19
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +12 -12
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +16 -11
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +6 -6
- package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +2 -4
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +6 -6
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +2 -4
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
- package/esm/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
- package/esm/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
- package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js +47 -37
- package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js.map +1 -1
- package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
- package/esm/vs/editor/contrib/links/browser/links.js +10 -10
- package/esm/vs/editor/contrib/message/browser/messageController.js +1 -1
- package/esm/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
- package/esm/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
- package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
- package/esm/vs/editor/contrib/peekView/browser/peekView.js +18 -18
- package/esm/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
- package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +56 -10
- package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js.map +1 -1
- package/esm/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
- package/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
- package/esm/vs/editor/contrib/rename/browser/rename.js +11 -11
- package/esm/vs/editor/contrib/rename/browser/renameWidget.js +7 -7
- package/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
- package/esm/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
- package/esm/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
- package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
- package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +2 -2
- package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js.map +1 -1
- package/esm/vs/editor/contrib/suggest/browser/suggest.js +8 -8
- package/esm/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
- package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +17 -17
- package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
- package/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
- package/esm/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
- package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
- package/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
- package/esm/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
- package/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
- package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
- package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
- package/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
- package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
- package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
- package/esm/vs/editor/editor.api.d.ts +3 -3
- package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
- package/esm/vs/platform/action/common/actionCommonCategories.js +6 -6
- package/esm/vs/platform/actionWidget/browser/actionList.js +4 -4
- package/esm/vs/platform/actionWidget/browser/actionWidget.js +7 -7
- package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
- package/esm/vs/platform/actions/browser/toolbar.js +2 -2
- package/esm/vs/platform/actions/common/actions.js +0 -1
- package/esm/vs/platform/actions/common/actions.js.map +1 -1
- package/esm/vs/platform/actions/common/menuService.js +2 -2
- package/esm/vs/platform/configuration/common/configurationRegistry.js +10 -10
- package/esm/vs/platform/contextkey/browser/contextKeyService.js +1 -1
- package/esm/vs/platform/contextkey/common/contextkey.js +9 -9
- package/esm/vs/platform/contextkey/common/contextkeys.js +9 -9
- package/esm/vs/platform/contextkey/common/scanner.js +5 -5
- package/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
- package/esm/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
- package/esm/vs/platform/list/browser/listService.js +27 -27
- package/esm/vs/platform/markers/common/markerService.js +2 -2
- package/esm/vs/platform/markers/common/markers.js +6 -6
- package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +7 -7
- package/esm/vs/platform/quickinput/browser/helpQuickAccess.js +1 -1
- package/esm/vs/platform/quickinput/browser/quickInput.js +10 -10
- package/esm/vs/platform/quickinput/browser/quickInputActions.js +5 -5
- package/esm/vs/platform/quickinput/browser/quickInputController.js +6 -6
- package/esm/vs/platform/quickinput/browser/quickInputList.js +1 -1
- package/esm/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
- package/esm/vs/platform/quickinput/common/quickInput.js.map +1 -1
- package/esm/vs/platform/theme/common/colorUtils.js +2 -2
- package/esm/vs/platform/theme/common/colors/baseColors.js +17 -17
- package/esm/vs/platform/theme/common/colors/chartsColors.js +8 -8
- package/esm/vs/platform/theme/common/colors/editorColors.js +95 -95
- package/esm/vs/platform/theme/common/colors/inputColors.js +47 -47
- package/esm/vs/platform/theme/common/colors/listColors.js +36 -36
- package/esm/vs/platform/theme/common/colors/menuColors.js +7 -7
- package/esm/vs/platform/theme/common/colors/minimapColors.js +11 -11
- package/esm/vs/platform/theme/common/colors/miscColors.js +15 -15
- package/esm/vs/platform/theme/common/colors/quickpickColors.js +9 -9
- package/esm/vs/platform/theme/common/colors/searchColors.js +3 -3
- package/esm/vs/platform/theme/common/iconRegistry.js +6 -6
- package/esm/vs/platform/undoRedo/common/undoRedoService.js +20 -20
- package/esm/vs/platform/workspace/common/workspace.js +1 -1
- package/monaco.d.ts +3 -3
- package/package.json +3 -3
- package/version.txt +1 -1
|
@@ -56,7 +56,7 @@ class ToggleCommentLineAction extends CommentLineAction {
|
|
|
56
56
|
constructor() {
|
|
57
57
|
super(0 /* Type.Toggle */, {
|
|
58
58
|
id: 'editor.action.commentLine',
|
|
59
|
-
label: nls.localize2(
|
|
59
|
+
label: nls.localize2(893, "Toggle Line Comment"),
|
|
60
60
|
precondition: EditorContextKeys.writable,
|
|
61
61
|
kbOpts: {
|
|
62
62
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -66,7 +66,7 @@ class ToggleCommentLineAction extends CommentLineAction {
|
|
|
66
66
|
menuOpts: {
|
|
67
67
|
menuId: MenuId.MenubarEditMenu,
|
|
68
68
|
group: '5_insert',
|
|
69
|
-
title: nls.localize(
|
|
69
|
+
title: nls.localize(891, "&&Toggle Line Comment"),
|
|
70
70
|
order: 1
|
|
71
71
|
}
|
|
72
72
|
});
|
|
@@ -76,7 +76,7 @@ class AddLineCommentAction extends CommentLineAction {
|
|
|
76
76
|
constructor() {
|
|
77
77
|
super(1 /* Type.ForceAdd */, {
|
|
78
78
|
id: 'editor.action.addCommentLine',
|
|
79
|
-
label: nls.localize2(
|
|
79
|
+
label: nls.localize2(894, "Add Line Comment"),
|
|
80
80
|
precondition: EditorContextKeys.writable,
|
|
81
81
|
kbOpts: {
|
|
82
82
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -90,7 +90,7 @@ class RemoveLineCommentAction extends CommentLineAction {
|
|
|
90
90
|
constructor() {
|
|
91
91
|
super(2 /* Type.ForceRemove */, {
|
|
92
92
|
id: 'editor.action.removeCommentLine',
|
|
93
|
-
label: nls.localize2(
|
|
93
|
+
label: nls.localize2(895, "Remove Line Comment"),
|
|
94
94
|
precondition: EditorContextKeys.writable,
|
|
95
95
|
kbOpts: {
|
|
96
96
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -104,7 +104,7 @@ class BlockCommentAction extends EditorAction {
|
|
|
104
104
|
constructor() {
|
|
105
105
|
super({
|
|
106
106
|
id: 'editor.action.blockComment',
|
|
107
|
-
label: nls.localize2(
|
|
107
|
+
label: nls.localize2(896, "Toggle Block Comment"),
|
|
108
108
|
precondition: EditorContextKeys.writable,
|
|
109
109
|
kbOpts: {
|
|
110
110
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -115,7 +115,7 @@ class BlockCommentAction extends EditorAction {
|
|
|
115
115
|
menuOpts: {
|
|
116
116
|
menuId: MenuId.MenubarEditMenu,
|
|
117
117
|
group: '5_insert',
|
|
118
|
-
title: nls.localize(
|
|
118
|
+
title: nls.localize(892, "Toggle &&Block Comment"),
|
|
119
119
|
order: 2
|
|
120
120
|
}
|
|
121
121
|
});
|
|
@@ -188,10 +188,9 @@ let ContextMenuController = class ContextMenuController {
|
|
|
188
188
|
if (keybinding) {
|
|
189
189
|
return new ActionViewItem(action, action, { label: true, keybinding: keybinding.getLabel(), isMenu: true });
|
|
190
190
|
}
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
return customActionViewItem.getActionViewItem();
|
|
191
|
+
const customAction = action;
|
|
192
|
+
if (typeof customAction.getActionViewItem === 'function') {
|
|
193
|
+
return customAction.getActionViewItem();
|
|
195
194
|
}
|
|
196
195
|
return new ActionViewItem(action, action, { icon: true, label: true, isMenu: true });
|
|
197
196
|
},
|
|
@@ -248,7 +247,7 @@ let ContextMenuController = class ContextMenuController {
|
|
|
248
247
|
};
|
|
249
248
|
const actions = [];
|
|
250
249
|
actions.push(createAction({
|
|
251
|
-
label: nls.localize(
|
|
250
|
+
label: nls.localize(897, "Minimap"),
|
|
252
251
|
checked: minimapOptions.enabled,
|
|
253
252
|
run: () => {
|
|
254
253
|
this._configurationService.updateValue(`editor.minimap.enabled`, !minimapOptions.enabled);
|
|
@@ -256,28 +255,28 @@ let ContextMenuController = class ContextMenuController {
|
|
|
256
255
|
}));
|
|
257
256
|
actions.push(new Separator());
|
|
258
257
|
actions.push(createAction({
|
|
259
|
-
label: nls.localize(
|
|
258
|
+
label: nls.localize(898, "Render Characters"),
|
|
260
259
|
enabled: minimapOptions.enabled,
|
|
261
260
|
checked: minimapOptions.renderCharacters,
|
|
262
261
|
run: () => {
|
|
263
262
|
this._configurationService.updateValue(`editor.minimap.renderCharacters`, !minimapOptions.renderCharacters);
|
|
264
263
|
}
|
|
265
264
|
}));
|
|
266
|
-
actions.push(createEnumAction(nls.localize(
|
|
267
|
-
label: nls.localize(
|
|
265
|
+
actions.push(createEnumAction(nls.localize(899, "Vertical size"), minimapOptions.enabled, 'editor.minimap.size', minimapOptions.size, [{
|
|
266
|
+
label: nls.localize(900, "Proportional"),
|
|
268
267
|
value: 'proportional'
|
|
269
268
|
}, {
|
|
270
|
-
label: nls.localize(
|
|
269
|
+
label: nls.localize(901, "Fill"),
|
|
271
270
|
value: 'fill'
|
|
272
271
|
}, {
|
|
273
|
-
label: nls.localize(
|
|
272
|
+
label: nls.localize(902, "Fit"),
|
|
274
273
|
value: 'fit'
|
|
275
274
|
}]));
|
|
276
|
-
actions.push(createEnumAction(nls.localize(
|
|
277
|
-
label: nls.localize(
|
|
275
|
+
actions.push(createEnumAction(nls.localize(903, "Slider"), minimapOptions.enabled, 'editor.minimap.showSlider', minimapOptions.showSlider, [{
|
|
276
|
+
label: nls.localize(904, "Mouse Over"),
|
|
278
277
|
value: 'mouseover'
|
|
279
278
|
}, {
|
|
280
|
-
label: nls.localize(
|
|
279
|
+
label: nls.localize(905, "Always"),
|
|
281
280
|
value: 'always'
|
|
282
281
|
}]));
|
|
283
282
|
const useShadowDOM = this._editor.getOption(144 /* EditorOption.useShadowDOM */) && !isIOS; // Do not use shadow dom on IOS #122035
|
|
@@ -316,7 +315,7 @@ class ShowContextMenu extends EditorAction {
|
|
|
316
315
|
constructor() {
|
|
317
316
|
super({
|
|
318
317
|
id: 'editor.action.showContextMenu',
|
|
319
|
-
label: nls.localize2(
|
|
318
|
+
label: nls.localize2(906, "Show Editor Context Menu"),
|
|
320
319
|
precondition: undefined,
|
|
321
320
|
kbOpts: {
|
|
322
321
|
kbExpr: EditorContextKeys.textInputFocus,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vs/editor/contrib/contextmenu/browser/contextmenu.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;;;;;;;;;;;AAEhG,OAAO,KAAK,GAAG,MAAM,iCAAiC,CAAC;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAC;AAE1F,OAAO,EAAW,SAAS,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAGvF,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAmC,oBAAoB,EAAE,0BAA0B,EAAoB,MAAM,sCAAsC,CAAC;AAGzK,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAU,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,yDAAyD,CAAC;AACnH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAE1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4DAA4D,CAAC;AACnG,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AAEpH,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;;aAEV,OAAE,GAAG,4BAAH,AAA+B,CAAC;IAElD,MAAM,CAAC,GAAG,CAAC,MAAmB;QACpC,OAAO,MAAM,CAAC,eAAe,CAAwB,uBAAqB,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;IAMD,YACC,MAAmB,EACE,mBAAyD,EACzD,mBAAyD,EAC1D,kBAAuD,EACvD,kBAAuD,EAC7D,YAA2C,EAClC,qBAA6D,EAC1D,wBAAmE;QANvD,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACzC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QAC5C,iBAAY,GAAZ,YAAY,CAAc;QACjB,0BAAqB,GAArB,qBAAqB,CAAuB;QACzC,6BAAwB,GAAxB,wBAAwB,CAA0B;QAZ7E,eAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QAC5C,kCAA6B,GAAW,CAAC,CAAC;QAajD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAmB,EAAE,EAAE;YACrE,IAAI,IAAI,CAAC,6BAA6B,GAAG,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,CAAC;gBAC9D,MAAM,MAAM,GAAG,CAAC,CAAC,UAAyB,CAAC;gBAE3C,2CAA2C;gBAC3C,wEAAwE;gBACxE,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC3E,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAC;gBAC5C,CAAC;YACF,CAAC;QACF,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAiB,EAAE,EAAE;YAChE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,mCAA0B,EAAE,CAAC;gBACvD,OAAO,CAAC,mDAAmD;YAC5D,CAAC;YACD,IAAI,CAAC,CAAC,OAAO,iCAAwB,EAAE,CAAC;gBACvC,4BAA4B;gBAC5B,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,CAAC;QACF,CAAC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,CAAoB;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,mCAA0B,EAAE,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,0DAA0D;YAC1D,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3F,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,CAAC,mDAAmD;QAC5D,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,4CAAmC,EAAE,CAAC;YACtD,OAAO,CAAC,yFAAyF;QAClG,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,yCAAiC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACpF,OAAO,CAAC,qCAAqC;QAC9C,CAAC;QAED,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAE1B,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,uCAA8B,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,yCAAiC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,0CAAkC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,qCAA6B,EAAE,CAAC;YACrJ,OAAO,CAAC,wEAAwE;QACjF,CAAC;QAED,uGAAuG;QACvG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,0DAA0D;QAC1D,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvB,IAAI,sBAAsB,GAAG,KAAK,CAAC;YACnC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;gBACtD,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACnD,sBAAsB,GAAG,IAAI,CAAC;oBAC9B,MAAM;gBACP,CAAC;YACF,CAAC;YAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC7B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC;QACF,CAAC;QAED,uGAAuG;QACvG,IAAI,MAAM,GAAuB,IAAI,CAAC;QACtC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,qCAA6B,EAAE,CAAC;YAChD,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;QAClB,CAAC;QAED,wBAAwB;QACxB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAEM,eAAe,CAAC,MAA2B;QACjD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,mCAA0B,EAAE,CAAC;YACvD,OAAO,CAAC,mDAAmD;QAC5D,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QAED,kCAAkC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAC/D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAE7B,uCAAuC;QACvC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;IACF,CAAC;IAEO,eAAe,CAAC,KAAiB,EAAE,MAAc;QACxD,MAAM,MAAM,GAAc,EAAE,CAAC;QAE7B,kBAAkB;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAErG,oCAAoC;QACpC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;YAC1B,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9B,IAAI,MAAM,YAAY,iBAAiB,EAAE,CAAC;oBACzC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACpE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;wBACpE,UAAU,EAAE,CAAC;oBACd,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACpB,UAAU,EAAE,CAAC;gBACd,CAAC;YACF,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;YAC9B,CAAC;QACF,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,wBAAwB;QACvC,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IAEO,kBAAkB,CAAC,OAAkB,EAAE,QAA4B,IAAI;QAC9E,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QAED,IAAI,MAAM,GAAiC,KAAK,CAAC;QACjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,8BAA8B;YAC9B,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,+BAAuB,CAAC;YAE9E,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YAEzF,wCAAwC;YACxC,MAAM,YAAY,GAAG,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;YAC3E,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;YACnD,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC;YAEvE,MAAM,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,qCAA2B,IAAI,CAAC,KAAK,CAAC,CAAC,uCAAuC;QAEzH,YAAY;QACZ,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC;YACxC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS;YAElH,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM;YAEvB,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO;YAEzB,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAC/C,IAAI,UAAU,EAAE,CAAC;oBAChB,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7G,CAAC;gBAED,mDAAmD;gBACnD,MAAM,oBAAoB,GAAQ,MAAM,CAAC;gBACzC,IAAI,OAAO,oBAAoB,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;oBAClE,OAAO,oBAAoB,CAAC,iBAAiB,EAAE,CAAC;gBACjD,CAAC;gBAED,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACtF,CAAC;YAED,aAAa,EAAE,CAAC,MAAM,EAAkC,EAAE;gBACzD,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,EAAE,CAAC,YAAqB,EAAE,EAAE;gBACjC,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACtC,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;IAEO,yBAAyB,CAAC,MAAmB;QACpD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QAED,IAAI,2BAA2B,CAAC,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;YAC/E,mEAAmE;YACnE,OAAO;QACR,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,+BAAsB,CAAC;QAEpE,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,YAAY,GAAG,CAAC,IAA8E,EAAW,EAAE;YAChH,OAAO;gBACN,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE;gBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;gBACpE,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG,EAAE,IAAI,CAAC,GAAG;aACb,CAAC;QACH,CAAC,CAAC;QACF,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAE,OAAkB,EAAiB,EAAE;YAChF,OAAO,IAAI,aAAa,CACvB,eAAe,EAAE,MAAM,EAAE,EACzB,KAAK,EACL,OAAO,EACP,SAAS,CACT,CAAC;QACH,CAAC,CAAC;QACF,MAAM,gBAAgB,GAAG,CAAI,KAAa,EAAE,OAAgB,EAAE,UAAkB,EAAE,eAAkB,EAAE,OAAsC,EAAW,EAAE;YACxJ,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,OAAO,YAAY,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,YAAY,GAAG,CAAC,KAAQ,EAAE,EAAE;gBACjC,OAAO,GAAG,EAAE;oBACX,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC3D,CAAC,CAAC;YACH,CAAC,CAAC;YACF,MAAM,OAAO,GAAc,EAAE,CAAC;YAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;oBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,OAAO,EAAE,eAAe,KAAK,MAAM,CAAC,KAAK;oBACzC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC/B,CAAC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,mBAAmB,CACzB,KAAK,EACL,OAAO,CACP,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,OAAO,GAAc,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;YACzB,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAyB,EAAE,SAAS,CAAC;YACzD,OAAO,EAAE,cAAc,CAAC,OAAO;YAC/B,GAAG,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC3F,CAAC;SACD,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;YACzB,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAkC,EAAE,mBAAmB,CAAC;YAC5E,OAAO,EAAE,cAAc,CAAC,OAAO;YAC/B,OAAO,EAAE,cAAc,CAAC,gBAAgB;YACxC,GAAG,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,iCAAiC,EAAE,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YAC7G,CAAC;SACD,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAC5B,GAAG,CAAC,QAAQ,CAAC,GAAsB,EAAE,eAAe,CAAC,EACrD,cAAc,CAAC,OAAO,EACtB,qBAAqB,EACrB,cAAc,CAAC,IAAI,EACnB,CAAC;gBACA,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAmC,EAAE,cAAc,CAAC;gBACxE,KAAK,EAAE,cAAc;aACrB,EAAE;gBACF,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAA2B,EAAE,MAAM,CAAC;gBACxD,KAAK,EAAE,MAAM;aACb,EAAE;gBACF,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAA0B,EAAE,KAAK,CAAC;gBACtD,KAAK,EAAE,KAAK;aACZ,CAAC,CACF,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAC5B,GAAG,CAAC,QAAQ,CAAC,GAAwB,EAAE,QAAQ,CAAC,EAChD,cAAc,CAAC,OAAO,EACtB,2BAA2B,EAC3B,cAAc,CAAC,UAAU,EACzB,CAAC;gBACA,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAkC,EAAE,YAAY,CAAC;gBACrE,KAAK,EAAE,WAAW;aAClB,EAAE;gBACF,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAA+B,EAAE,QAAQ,CAAC;gBAC9D,KAAK,EAAE,QAAQ;aACf,CAAC,CACF,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,qCAA2B,IAAI,CAAC,KAAK,CAAC,CAAC,uCAAuC;QACzH,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC;YACxC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS;YACtE,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM;YACvB,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO;YACzB,MAAM,EAAE,CAAC,YAAqB,EAAE,EAAE;gBACjC,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,MAAe;QACrC,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IAEM,OAAO;QACb,IAAI,IAAI,CAAC,6BAA6B,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;;AAzVW,qBAAqB;IAc/B,WAAA,mBAAmB,CAAA;IACnB,WAAA,mBAAmB,CAAA;IACnB,WAAA,kBAAkB,CAAA;IAClB,WAAA,kBAAkB,CAAA;IAClB,WAAA,YAAY,CAAA;IACZ,WAAA,qBAAqB,CAAA;IACrB,WAAA,wBAAwB,CAAA;GApBd,qBAAqB,CA0VjC;;AAED,MAAM,eAAgB,SAAQ,YAAY;IAEzC;QACC,KAAK,CAAC;YACL,EAAE,EAAE,+BAA+B;YACnC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,GAA8B,EAAE,0BAA0B,CAAC;YAChF,YAAY,EAAE,SAAS;YACvB,MAAM,EAAE;gBACP,MAAM,EAAE,iBAAiB,CAAC,cAAc;gBACxC,OAAO,EAAE,8CAA0B;gBACnC,MAAM,0CAAgC;aACtC;SACD,CAAC,CAAC;IACJ,CAAC;IAEM,GAAG,CAAC,QAA0B,EAAE,MAAmB;QACzD,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IACtD,CAAC;CACD;AAED,0BAA0B,CAAC,qBAAqB,CAAC,EAAE,EAAE,qBAAqB,iEAAyD,CAAC;AACpI,oBAAoB,CAAC,eAAe,CAAC,CAAC","file":"contextmenu.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 * as dom from '../../../../base/browser/dom.js';\nimport { IKeyboardEvent } from '../../../../base/browser/keyboardEvent.js';\nimport { IMouseEvent, IMouseWheelEvent } from '../../../../base/browser/mouseEvent.js';\nimport { ActionViewItem } from '../../../../base/browser/ui/actionbar/actionViewItems.js';\nimport { IAnchor } from '../../../../base/browser/ui/contextview/contextview.js';\nimport { IAction, Separator, SubmenuAction } from '../../../../base/common/actions.js';\nimport { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';\nimport { ResolvedKeybinding } from '../../../../base/common/keybindings.js';\nimport { DisposableStore } from '../../../../base/common/lifecycle.js';\nimport { isIOS } from '../../../../base/common/platform.js';\nimport { ICodeEditor, IEditorMouseEvent, MouseTargetType } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorContributionInstantiation, registerEditorAction, registerEditorContribution, ServicesAccessor } from '../../../browser/editorExtensions.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { IEditorContribution, ScrollType } from '../../../common/editorCommon.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { ITextModel } from '../../../common/model.js';\nimport * as nls from '../../../../nls.js';\nimport { IMenuService, MenuId, SubmenuItemAction } from '../../../../platform/actions/common/actions.js';\nimport { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';\nimport { IContextMenuService, IContextViewService } from '../../../../platform/contextview/browser/contextView.js';\nimport { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';\nimport { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';\nimport { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';\nimport { IWorkspaceContextService, isStandaloneEditorWorkspace } from '../../../../platform/workspace/common/workspace.js';\n\nexport class ContextMenuController implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.contextmenu';\n\n\tpublic static get(editor: ICodeEditor): ContextMenuController | null {\n\t\treturn editor.getContribution<ContextMenuController>(ContextMenuController.ID);\n\t}\n\n\tprivate readonly _toDispose = new DisposableStore();\n\tprivate _contextMenuIsBeingShownCount: number = 0;\n\tprivate readonly _editor: ICodeEditor;\n\n\tconstructor(\n\t\teditor: ICodeEditor,\n\t\t@IContextMenuService private readonly _contextMenuService: IContextMenuService,\n\t\t@IContextViewService private readonly _contextViewService: IContextViewService,\n\t\t@IContextKeyService private readonly _contextKeyService: IContextKeyService,\n\t\t@IKeybindingService private readonly _keybindingService: IKeybindingService,\n\t\t@IMenuService private readonly _menuService: IMenuService,\n\t\t@IConfigurationService private readonly _configurationService: IConfigurationService,\n\t\t@IWorkspaceContextService private readonly _workspaceContextService: IWorkspaceContextService,\n\t) {\n\t\tthis._editor = editor;\n\n\t\tthis._toDispose.add(this._editor.onContextMenu((e: IEditorMouseEvent) => this._onContextMenu(e)));\n\t\tthis._toDispose.add(this._editor.onMouseWheel((e: IMouseWheelEvent) => {\n\t\t\tif (this._contextMenuIsBeingShownCount > 0) {\n\t\t\t\tconst view = this._contextViewService.getContextViewElement();\n\t\t\t\tconst target = e.srcElement as HTMLElement;\n\n\t\t\t\t// Event triggers on shadow root host first\n\t\t\t\t// Check if the context view is under this host before hiding it #103169\n\t\t\t\tif (!(target.shadowRoot && dom.getShadowRoot(view) === target.shadowRoot)) {\n\t\t\t\t\tthis._contextViewService.hideContextView();\n\t\t\t\t}\n\t\t\t}\n\t\t}));\n\t\tthis._toDispose.add(this._editor.onKeyDown((e: IKeyboardEvent) => {\n\t\t\tif (!this._editor.getOption(EditorOption.contextmenu)) {\n\t\t\t\treturn; // Context menu is turned off through configuration\n\t\t\t}\n\t\t\tif (e.keyCode === KeyCode.ContextMenu) {\n\t\t\t\t// Chrome is funny like that\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\tthis.showContextMenu();\n\t\t\t}\n\t\t}));\n\t}\n\n\tprivate _onContextMenu(e: IEditorMouseEvent): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._editor.getOption(EditorOption.contextmenu)) {\n\t\t\tthis._editor.focus();\n\t\t\t// Ensure the cursor is at the position of the mouse click\n\t\t\tif (e.target.position && !this._editor.getSelection().containsPosition(e.target.position)) {\n\t\t\t\tthis._editor.setPosition(e.target.position);\n\t\t\t}\n\t\t\treturn; // Context menu is turned off through configuration\n\t\t}\n\n\t\tif (e.target.type === MouseTargetType.OVERLAY_WIDGET) {\n\t\t\treturn; // allow native menu on widgets to support right click on input field for example in find\n\t\t}\n\t\tif (e.target.type === MouseTargetType.CONTENT_TEXT && e.target.detail.injectedText) {\n\t\t\treturn; // allow native menu on injected text\n\t\t}\n\n\t\te.event.preventDefault();\n\t\te.event.stopPropagation();\n\n\t\tif (e.target.type === MouseTargetType.SCROLLBAR) {\n\t\t\treturn this._showScrollbarContextMenu(e.event);\n\t\t}\n\n\t\tif (e.target.type !== MouseTargetType.CONTENT_TEXT && e.target.type !== MouseTargetType.CONTENT_EMPTY && e.target.type !== MouseTargetType.TEXTAREA) {\n\t\t\treturn; // only support mouse click into text or native context menu key for now\n\t\t}\n\n\t\t// Ensure the editor gets focus if it hasn't, so the right events are being sent to other contributions\n\t\tthis._editor.focus();\n\n\t\t// Ensure the cursor is at the position of the mouse click\n\t\tif (e.target.position) {\n\t\t\tlet hasSelectionAtPosition = false;\n\t\t\tfor (const selection of this._editor.getSelections()) {\n\t\t\t\tif (selection.containsPosition(e.target.position)) {\n\t\t\t\t\thasSelectionAtPosition = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!hasSelectionAtPosition) {\n\t\t\t\tthis._editor.setPosition(e.target.position);\n\t\t\t}\n\t\t}\n\n\t\t// Unless the user triggerd the context menu through Shift+F10, use the mouse position as menu position\n\t\tlet anchor: IMouseEvent | null = null;\n\t\tif (e.target.type !== MouseTargetType.TEXTAREA) {\n\t\t\tanchor = e.event;\n\t\t}\n\n\t\t// Show the context menu\n\t\tthis.showContextMenu(anchor);\n\t}\n\n\tpublic showContextMenu(anchor?: IMouseEvent | null): void {\n\t\tif (!this._editor.getOption(EditorOption.contextmenu)) {\n\t\t\treturn; // Context menu is turned off through configuration\n\t\t}\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Find actions available for menu\n\t\tconst menuActions = this._getMenuActions(this._editor.getModel(),\n\t\t\tthis._editor.contextMenuId);\n\n\t\t// Show menu if we have actions to show\n\t\tif (menuActions.length > 0) {\n\t\t\tthis._doShowContextMenu(menuActions, anchor);\n\t\t}\n\t}\n\n\tprivate _getMenuActions(model: ITextModel, menuId: MenuId): IAction[] {\n\t\tconst result: IAction[] = [];\n\n\t\t// get menu groups\n\t\tconst groups = this._menuService.getMenuActions(menuId, this._contextKeyService, { arg: model.uri });\n\n\t\t// translate them into other actions\n\t\tfor (const group of groups) {\n\t\t\tconst [, actions] = group;\n\t\t\tlet addedItems = 0;\n\t\t\tfor (const action of actions) {\n\t\t\t\tif (action instanceof SubmenuItemAction) {\n\t\t\t\t\tconst subActions = this._getMenuActions(model, action.item.submenu);\n\t\t\t\t\tif (subActions.length > 0) {\n\t\t\t\t\t\tresult.push(new SubmenuAction(action.id, action.label, subActions));\n\t\t\t\t\t\taddedItems++;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresult.push(action);\n\t\t\t\t\taddedItems++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (addedItems) {\n\t\t\t\tresult.push(new Separator());\n\t\t\t}\n\t\t}\n\n\t\tif (result.length) {\n\t\t\tresult.pop(); // remove last separator\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprivate _doShowContextMenu(actions: IAction[], event: IMouseEvent | null = null): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet anchor: IMouseEvent | IAnchor | null = event;\n\t\tif (!anchor) {\n\t\t\t// Ensure selection is visible\n\t\t\tthis._editor.revealPosition(this._editor.getPosition(), ScrollType.Immediate);\n\n\t\t\tthis._editor.render();\n\t\t\tconst cursorCoords = this._editor.getScrolledVisiblePosition(this._editor.getPosition());\n\n\t\t\t// Translate to absolute editor position\n\t\t\tconst editorCoords = dom.getDomNodePagePosition(this._editor.getDomNode());\n\t\t\tconst posx = editorCoords.left + cursorCoords.left;\n\t\t\tconst posy = editorCoords.top + cursorCoords.top + cursorCoords.height;\n\n\t\t\tanchor = { x: posx, y: posy };\n\t\t}\n\n\t\tconst useShadowDOM = this._editor.getOption(EditorOption.useShadowDOM) && !isIOS; // Do not use shadow dom on IOS #122035\n\n\t\t// Show menu\n\t\tthis._contextMenuIsBeingShownCount++;\n\t\tthis._contextMenuService.showContextMenu({\n\t\t\tdomForShadowRoot: useShadowDOM ? this._editor.getOverflowWidgetsDomNode() ?? this._editor.getDomNode() : undefined,\n\n\t\t\tgetAnchor: () => anchor,\n\n\t\t\tgetActions: () => actions,\n\n\t\t\tgetActionViewItem: (action) => {\n\t\t\t\tconst keybinding = this._keybindingFor(action);\n\t\t\t\tif (keybinding) {\n\t\t\t\t\treturn new ActionViewItem(action, action, { label: true, keybinding: keybinding.getLabel(), isMenu: true });\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\t\t\tconst customActionViewItem = <any>action;\n\t\t\t\tif (typeof customActionViewItem.getActionViewItem === 'function') {\n\t\t\t\t\treturn customActionViewItem.getActionViewItem();\n\t\t\t\t}\n\n\t\t\t\treturn new ActionViewItem(action, action, { icon: true, label: true, isMenu: true });\n\t\t\t},\n\n\t\t\tgetKeyBinding: (action): ResolvedKeybinding | undefined => {\n\t\t\t\treturn this._keybindingFor(action);\n\t\t\t},\n\n\t\t\tonHide: (wasCancelled: boolean) => {\n\t\t\t\tthis._contextMenuIsBeingShownCount--;\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _showScrollbarContextMenu(anchor: IMouseEvent): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isStandaloneEditorWorkspace(this._workspaceContextService.getWorkspace())) {\n\t\t\t// can't update the configuration properly in the standalone editor\n\t\t\treturn;\n\t\t}\n\n\t\tconst minimapOptions = this._editor.getOption(EditorOption.minimap);\n\n\t\tlet lastId = 0;\n\t\tconst createAction = (opts: { label: string; enabled?: boolean; checked?: boolean; run: () => void }): IAction => {\n\t\t\treturn {\n\t\t\t\tid: `menu-action-${++lastId}`,\n\t\t\t\tlabel: opts.label,\n\t\t\t\ttooltip: '',\n\t\t\t\tclass: undefined,\n\t\t\t\tenabled: (typeof opts.enabled === 'undefined' ? true : opts.enabled),\n\t\t\t\tchecked: opts.checked,\n\t\t\t\trun: opts.run\n\t\t\t};\n\t\t};\n\t\tconst createSubmenuAction = (label: string, actions: IAction[]): SubmenuAction => {\n\t\t\treturn new SubmenuAction(\n\t\t\t\t`menu-action-${++lastId}`,\n\t\t\t\tlabel,\n\t\t\t\tactions,\n\t\t\t\tundefined\n\t\t\t);\n\t\t};\n\t\tconst createEnumAction = <T>(label: string, enabled: boolean, configName: string, configuredValue: T, options: { label: string; value: T }[]): IAction => {\n\t\t\tif (!enabled) {\n\t\t\t\treturn createAction({ label, enabled, run: () => { } });\n\t\t\t}\n\t\t\tconst createRunner = (value: T) => {\n\t\t\t\treturn () => {\n\t\t\t\t\tthis._configurationService.updateValue(configName, value);\n\t\t\t\t};\n\t\t\t};\n\t\t\tconst actions: IAction[] = [];\n\t\t\tfor (const option of options) {\n\t\t\t\tactions.push(createAction({\n\t\t\t\t\tlabel: option.label,\n\t\t\t\t\tchecked: configuredValue === option.value,\n\t\t\t\t\trun: createRunner(option.value)\n\t\t\t\t}));\n\t\t\t}\n\t\t\treturn createSubmenuAction(\n\t\t\t\tlabel,\n\t\t\t\tactions\n\t\t\t);\n\t\t};\n\n\t\tconst actions: IAction[] = [];\n\t\tactions.push(createAction({\n\t\t\tlabel: nls.localize('context.minimap.minimap', \"Minimap\"),\n\t\t\tchecked: minimapOptions.enabled,\n\t\t\trun: () => {\n\t\t\t\tthis._configurationService.updateValue(`editor.minimap.enabled`, !minimapOptions.enabled);\n\t\t\t}\n\t\t}));\n\t\tactions.push(new Separator());\n\t\tactions.push(createAction({\n\t\t\tlabel: nls.localize('context.minimap.renderCharacters', \"Render Characters\"),\n\t\t\tenabled: minimapOptions.enabled,\n\t\t\tchecked: minimapOptions.renderCharacters,\n\t\t\trun: () => {\n\t\t\t\tthis._configurationService.updateValue(`editor.minimap.renderCharacters`, !minimapOptions.renderCharacters);\n\t\t\t}\n\t\t}));\n\t\tactions.push(createEnumAction<'proportional' | 'fill' | 'fit'>(\n\t\t\tnls.localize('context.minimap.size', \"Vertical size\"),\n\t\t\tminimapOptions.enabled,\n\t\t\t'editor.minimap.size',\n\t\t\tminimapOptions.size,\n\t\t\t[{\n\t\t\t\tlabel: nls.localize('context.minimap.size.proportional', \"Proportional\"),\n\t\t\t\tvalue: 'proportional'\n\t\t\t}, {\n\t\t\t\tlabel: nls.localize('context.minimap.size.fill', \"Fill\"),\n\t\t\t\tvalue: 'fill'\n\t\t\t}, {\n\t\t\t\tlabel: nls.localize('context.minimap.size.fit', \"Fit\"),\n\t\t\t\tvalue: 'fit'\n\t\t\t}]\n\t\t));\n\t\tactions.push(createEnumAction<'always' | 'mouseover'>(\n\t\t\tnls.localize('context.minimap.slider', \"Slider\"),\n\t\t\tminimapOptions.enabled,\n\t\t\t'editor.minimap.showSlider',\n\t\t\tminimapOptions.showSlider,\n\t\t\t[{\n\t\t\t\tlabel: nls.localize('context.minimap.slider.mouseover', \"Mouse Over\"),\n\t\t\t\tvalue: 'mouseover'\n\t\t\t}, {\n\t\t\t\tlabel: nls.localize('context.minimap.slider.always', \"Always\"),\n\t\t\t\tvalue: 'always'\n\t\t\t}]\n\t\t));\n\n\t\tconst useShadowDOM = this._editor.getOption(EditorOption.useShadowDOM) && !isIOS; // Do not use shadow dom on IOS #122035\n\t\tthis._contextMenuIsBeingShownCount++;\n\t\tthis._contextMenuService.showContextMenu({\n\t\t\tdomForShadowRoot: useShadowDOM ? this._editor.getDomNode() : undefined,\n\t\t\tgetAnchor: () => anchor,\n\t\t\tgetActions: () => actions,\n\t\t\tonHide: (wasCancelled: boolean) => {\n\t\t\t\tthis._contextMenuIsBeingShownCount--;\n\t\t\t\tthis._editor.focus();\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _keybindingFor(action: IAction): ResolvedKeybinding | undefined {\n\t\treturn this._keybindingService.lookupKeybinding(action.id);\n\t}\n\n\tpublic dispose(): void {\n\t\tif (this._contextMenuIsBeingShownCount > 0) {\n\t\t\tthis._contextViewService.hideContextView();\n\t\t}\n\n\t\tthis._toDispose.dispose();\n\t}\n}\n\nclass ShowContextMenu extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.showContextMenu',\n\t\t\tlabel: nls.localize2('action.showContextMenu.label', \"Show Editor Context Menu\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.textInputFocus,\n\t\t\t\tprimary: KeyMod.Shift | KeyCode.F10,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic run(accessor: ServicesAccessor, editor: ICodeEditor): void {\n\t\tContextMenuController.get(editor)?.showContextMenu();\n\t}\n}\n\nregisterEditorContribution(ContextMenuController.ID, ContextMenuController, EditorContributionInstantiation.BeforeFirstInteraction);\nregisterEditorAction(ShowContextMenu);\n"]}
|
|
1
|
+
{"version":3,"sources":["vs/editor/contrib/contextmenu/browser/contextmenu.ts"],"names":[],"mappings":"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","file":"contextmenu.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 * as dom from '../../../../base/browser/dom.js';\nimport { IKeyboardEvent } from '../../../../base/browser/keyboardEvent.js';\nimport { IMouseEvent, IMouseWheelEvent } from '../../../../base/browser/mouseEvent.js';\nimport { ActionViewItem } from '../../../../base/browser/ui/actionbar/actionViewItems.js';\nimport { IAnchor } from '../../../../base/browser/ui/contextview/contextview.js';\nimport { IAction, Separator, SubmenuAction } from '../../../../base/common/actions.js';\nimport { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';\nimport { ResolvedKeybinding } from '../../../../base/common/keybindings.js';\nimport { DisposableStore } from '../../../../base/common/lifecycle.js';\nimport { isIOS } from '../../../../base/common/platform.js';\nimport { ICodeEditor, IEditorMouseEvent, MouseTargetType } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorContributionInstantiation, registerEditorAction, registerEditorContribution, ServicesAccessor } from '../../../browser/editorExtensions.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { IEditorContribution, ScrollType } from '../../../common/editorCommon.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { ITextModel } from '../../../common/model.js';\nimport * as nls from '../../../../nls.js';\nimport { IMenuService, MenuId, SubmenuItemAction } from '../../../../platform/actions/common/actions.js';\nimport { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';\nimport { IContextMenuService, IContextViewService } from '../../../../platform/contextview/browser/contextView.js';\nimport { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';\nimport { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';\nimport { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';\nimport { IWorkspaceContextService, isStandaloneEditorWorkspace } from '../../../../platform/workspace/common/workspace.js';\n\nexport class ContextMenuController implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.contextmenu';\n\n\tpublic static get(editor: ICodeEditor): ContextMenuController | null {\n\t\treturn editor.getContribution<ContextMenuController>(ContextMenuController.ID);\n\t}\n\n\tprivate readonly _toDispose = new DisposableStore();\n\tprivate _contextMenuIsBeingShownCount: number = 0;\n\tprivate readonly _editor: ICodeEditor;\n\n\tconstructor(\n\t\teditor: ICodeEditor,\n\t\t@IContextMenuService private readonly _contextMenuService: IContextMenuService,\n\t\t@IContextViewService private readonly _contextViewService: IContextViewService,\n\t\t@IContextKeyService private readonly _contextKeyService: IContextKeyService,\n\t\t@IKeybindingService private readonly _keybindingService: IKeybindingService,\n\t\t@IMenuService private readonly _menuService: IMenuService,\n\t\t@IConfigurationService private readonly _configurationService: IConfigurationService,\n\t\t@IWorkspaceContextService private readonly _workspaceContextService: IWorkspaceContextService,\n\t) {\n\t\tthis._editor = editor;\n\n\t\tthis._toDispose.add(this._editor.onContextMenu((e: IEditorMouseEvent) => this._onContextMenu(e)));\n\t\tthis._toDispose.add(this._editor.onMouseWheel((e: IMouseWheelEvent) => {\n\t\t\tif (this._contextMenuIsBeingShownCount > 0) {\n\t\t\t\tconst view = this._contextViewService.getContextViewElement();\n\t\t\t\tconst target = e.srcElement as HTMLElement;\n\n\t\t\t\t// Event triggers on shadow root host first\n\t\t\t\t// Check if the context view is under this host before hiding it #103169\n\t\t\t\tif (!(target.shadowRoot && dom.getShadowRoot(view) === target.shadowRoot)) {\n\t\t\t\t\tthis._contextViewService.hideContextView();\n\t\t\t\t}\n\t\t\t}\n\t\t}));\n\t\tthis._toDispose.add(this._editor.onKeyDown((e: IKeyboardEvent) => {\n\t\t\tif (!this._editor.getOption(EditorOption.contextmenu)) {\n\t\t\t\treturn; // Context menu is turned off through configuration\n\t\t\t}\n\t\t\tif (e.keyCode === KeyCode.ContextMenu) {\n\t\t\t\t// Chrome is funny like that\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\tthis.showContextMenu();\n\t\t\t}\n\t\t}));\n\t}\n\n\tprivate _onContextMenu(e: IEditorMouseEvent): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._editor.getOption(EditorOption.contextmenu)) {\n\t\t\tthis._editor.focus();\n\t\t\t// Ensure the cursor is at the position of the mouse click\n\t\t\tif (e.target.position && !this._editor.getSelection().containsPosition(e.target.position)) {\n\t\t\t\tthis._editor.setPosition(e.target.position);\n\t\t\t}\n\t\t\treturn; // Context menu is turned off through configuration\n\t\t}\n\n\t\tif (e.target.type === MouseTargetType.OVERLAY_WIDGET) {\n\t\t\treturn; // allow native menu on widgets to support right click on input field for example in find\n\t\t}\n\t\tif (e.target.type === MouseTargetType.CONTENT_TEXT && e.target.detail.injectedText) {\n\t\t\treturn; // allow native menu on injected text\n\t\t}\n\n\t\te.event.preventDefault();\n\t\te.event.stopPropagation();\n\n\t\tif (e.target.type === MouseTargetType.SCROLLBAR) {\n\t\t\treturn this._showScrollbarContextMenu(e.event);\n\t\t}\n\n\t\tif (e.target.type !== MouseTargetType.CONTENT_TEXT && e.target.type !== MouseTargetType.CONTENT_EMPTY && e.target.type !== MouseTargetType.TEXTAREA) {\n\t\t\treturn; // only support mouse click into text or native context menu key for now\n\t\t}\n\n\t\t// Ensure the editor gets focus if it hasn't, so the right events are being sent to other contributions\n\t\tthis._editor.focus();\n\n\t\t// Ensure the cursor is at the position of the mouse click\n\t\tif (e.target.position) {\n\t\t\tlet hasSelectionAtPosition = false;\n\t\t\tfor (const selection of this._editor.getSelections()) {\n\t\t\t\tif (selection.containsPosition(e.target.position)) {\n\t\t\t\t\thasSelectionAtPosition = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!hasSelectionAtPosition) {\n\t\t\t\tthis._editor.setPosition(e.target.position);\n\t\t\t}\n\t\t}\n\n\t\t// Unless the user triggerd the context menu through Shift+F10, use the mouse position as menu position\n\t\tlet anchor: IMouseEvent | null = null;\n\t\tif (e.target.type !== MouseTargetType.TEXTAREA) {\n\t\t\tanchor = e.event;\n\t\t}\n\n\t\t// Show the context menu\n\t\tthis.showContextMenu(anchor);\n\t}\n\n\tpublic showContextMenu(anchor?: IMouseEvent | null): void {\n\t\tif (!this._editor.getOption(EditorOption.contextmenu)) {\n\t\t\treturn; // Context menu is turned off through configuration\n\t\t}\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Find actions available for menu\n\t\tconst menuActions = this._getMenuActions(this._editor.getModel(),\n\t\t\tthis._editor.contextMenuId);\n\n\t\t// Show menu if we have actions to show\n\t\tif (menuActions.length > 0) {\n\t\t\tthis._doShowContextMenu(menuActions, anchor);\n\t\t}\n\t}\n\n\tprivate _getMenuActions(model: ITextModel, menuId: MenuId): IAction[] {\n\t\tconst result: IAction[] = [];\n\n\t\t// get menu groups\n\t\tconst groups = this._menuService.getMenuActions(menuId, this._contextKeyService, { arg: model.uri });\n\n\t\t// translate them into other actions\n\t\tfor (const group of groups) {\n\t\t\tconst [, actions] = group;\n\t\t\tlet addedItems = 0;\n\t\t\tfor (const action of actions) {\n\t\t\t\tif (action instanceof SubmenuItemAction) {\n\t\t\t\t\tconst subActions = this._getMenuActions(model, action.item.submenu);\n\t\t\t\t\tif (subActions.length > 0) {\n\t\t\t\t\t\tresult.push(new SubmenuAction(action.id, action.label, subActions));\n\t\t\t\t\t\taddedItems++;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresult.push(action);\n\t\t\t\t\taddedItems++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (addedItems) {\n\t\t\t\tresult.push(new Separator());\n\t\t\t}\n\t\t}\n\n\t\tif (result.length) {\n\t\t\tresult.pop(); // remove last separator\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprivate _doShowContextMenu(actions: IAction[], event: IMouseEvent | null = null): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet anchor: IMouseEvent | IAnchor | null = event;\n\t\tif (!anchor) {\n\t\t\t// Ensure selection is visible\n\t\t\tthis._editor.revealPosition(this._editor.getPosition(), ScrollType.Immediate);\n\n\t\t\tthis._editor.render();\n\t\t\tconst cursorCoords = this._editor.getScrolledVisiblePosition(this._editor.getPosition());\n\n\t\t\t// Translate to absolute editor position\n\t\t\tconst editorCoords = dom.getDomNodePagePosition(this._editor.getDomNode());\n\t\t\tconst posx = editorCoords.left + cursorCoords.left;\n\t\t\tconst posy = editorCoords.top + cursorCoords.top + cursorCoords.height;\n\n\t\t\tanchor = { x: posx, y: posy };\n\t\t}\n\n\t\tconst useShadowDOM = this._editor.getOption(EditorOption.useShadowDOM) && !isIOS; // Do not use shadow dom on IOS #122035\n\n\t\t// Show menu\n\t\tthis._contextMenuIsBeingShownCount++;\n\t\tthis._contextMenuService.showContextMenu({\n\t\t\tdomForShadowRoot: useShadowDOM ? this._editor.getOverflowWidgetsDomNode() ?? this._editor.getDomNode() : undefined,\n\n\t\t\tgetAnchor: () => anchor,\n\n\t\t\tgetActions: () => actions,\n\n\t\t\tgetActionViewItem: (action) => {\n\t\t\t\tconst keybinding = this._keybindingFor(action);\n\t\t\t\tif (keybinding) {\n\t\t\t\t\treturn new ActionViewItem(action, action, { label: true, keybinding: keybinding.getLabel(), isMenu: true });\n\t\t\t\t}\n\n\t\t\t\tconst customAction = action as IAction & { getActionViewItem?: () => ActionViewItem };\n\t\t\t\tif (typeof customAction.getActionViewItem === 'function') {\n\t\t\t\t\treturn customAction.getActionViewItem();\n\t\t\t\t}\n\n\t\t\t\treturn new ActionViewItem(action, action, { icon: true, label: true, isMenu: true });\n\t\t\t},\n\n\t\t\tgetKeyBinding: (action): ResolvedKeybinding | undefined => {\n\t\t\t\treturn this._keybindingFor(action);\n\t\t\t},\n\n\t\t\tonHide: (wasCancelled: boolean) => {\n\t\t\t\tthis._contextMenuIsBeingShownCount--;\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _showScrollbarContextMenu(anchor: IMouseEvent): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isStandaloneEditorWorkspace(this._workspaceContextService.getWorkspace())) {\n\t\t\t// can't update the configuration properly in the standalone editor\n\t\t\treturn;\n\t\t}\n\n\t\tconst minimapOptions = this._editor.getOption(EditorOption.minimap);\n\n\t\tlet lastId = 0;\n\t\tconst createAction = (opts: { label: string; enabled?: boolean; checked?: boolean; run: () => void }): IAction => {\n\t\t\treturn {\n\t\t\t\tid: `menu-action-${++lastId}`,\n\t\t\t\tlabel: opts.label,\n\t\t\t\ttooltip: '',\n\t\t\t\tclass: undefined,\n\t\t\t\tenabled: (typeof opts.enabled === 'undefined' ? true : opts.enabled),\n\t\t\t\tchecked: opts.checked,\n\t\t\t\trun: opts.run\n\t\t\t};\n\t\t};\n\t\tconst createSubmenuAction = (label: string, actions: IAction[]): SubmenuAction => {\n\t\t\treturn new SubmenuAction(\n\t\t\t\t`menu-action-${++lastId}`,\n\t\t\t\tlabel,\n\t\t\t\tactions,\n\t\t\t\tundefined\n\t\t\t);\n\t\t};\n\t\tconst createEnumAction = <T>(label: string, enabled: boolean, configName: string, configuredValue: T, options: { label: string; value: T }[]): IAction => {\n\t\t\tif (!enabled) {\n\t\t\t\treturn createAction({ label, enabled, run: () => { } });\n\t\t\t}\n\t\t\tconst createRunner = (value: T) => {\n\t\t\t\treturn () => {\n\t\t\t\t\tthis._configurationService.updateValue(configName, value);\n\t\t\t\t};\n\t\t\t};\n\t\t\tconst actions: IAction[] = [];\n\t\t\tfor (const option of options) {\n\t\t\t\tactions.push(createAction({\n\t\t\t\t\tlabel: option.label,\n\t\t\t\t\tchecked: configuredValue === option.value,\n\t\t\t\t\trun: createRunner(option.value)\n\t\t\t\t}));\n\t\t\t}\n\t\t\treturn createSubmenuAction(\n\t\t\t\tlabel,\n\t\t\t\tactions\n\t\t\t);\n\t\t};\n\n\t\tconst actions: IAction[] = [];\n\t\tactions.push(createAction({\n\t\t\tlabel: nls.localize('context.minimap.minimap', \"Minimap\"),\n\t\t\tchecked: minimapOptions.enabled,\n\t\t\trun: () => {\n\t\t\t\tthis._configurationService.updateValue(`editor.minimap.enabled`, !minimapOptions.enabled);\n\t\t\t}\n\t\t}));\n\t\tactions.push(new Separator());\n\t\tactions.push(createAction({\n\t\t\tlabel: nls.localize('context.minimap.renderCharacters', \"Render Characters\"),\n\t\t\tenabled: minimapOptions.enabled,\n\t\t\tchecked: minimapOptions.renderCharacters,\n\t\t\trun: () => {\n\t\t\t\tthis._configurationService.updateValue(`editor.minimap.renderCharacters`, !minimapOptions.renderCharacters);\n\t\t\t}\n\t\t}));\n\t\tactions.push(createEnumAction<'proportional' | 'fill' | 'fit'>(\n\t\t\tnls.localize('context.minimap.size', \"Vertical size\"),\n\t\t\tminimapOptions.enabled,\n\t\t\t'editor.minimap.size',\n\t\t\tminimapOptions.size,\n\t\t\t[{\n\t\t\t\tlabel: nls.localize('context.minimap.size.proportional', \"Proportional\"),\n\t\t\t\tvalue: 'proportional'\n\t\t\t}, {\n\t\t\t\tlabel: nls.localize('context.minimap.size.fill', \"Fill\"),\n\t\t\t\tvalue: 'fill'\n\t\t\t}, {\n\t\t\t\tlabel: nls.localize('context.minimap.size.fit', \"Fit\"),\n\t\t\t\tvalue: 'fit'\n\t\t\t}]\n\t\t));\n\t\tactions.push(createEnumAction<'always' | 'mouseover'>(\n\t\t\tnls.localize('context.minimap.slider', \"Slider\"),\n\t\t\tminimapOptions.enabled,\n\t\t\t'editor.minimap.showSlider',\n\t\t\tminimapOptions.showSlider,\n\t\t\t[{\n\t\t\t\tlabel: nls.localize('context.minimap.slider.mouseover', \"Mouse Over\"),\n\t\t\t\tvalue: 'mouseover'\n\t\t\t}, {\n\t\t\t\tlabel: nls.localize('context.minimap.slider.always', \"Always\"),\n\t\t\t\tvalue: 'always'\n\t\t\t}]\n\t\t));\n\n\t\tconst useShadowDOM = this._editor.getOption(EditorOption.useShadowDOM) && !isIOS; // Do not use shadow dom on IOS #122035\n\t\tthis._contextMenuIsBeingShownCount++;\n\t\tthis._contextMenuService.showContextMenu({\n\t\t\tdomForShadowRoot: useShadowDOM ? this._editor.getDomNode() : undefined,\n\t\t\tgetAnchor: () => anchor,\n\t\t\tgetActions: () => actions,\n\t\t\tonHide: (wasCancelled: boolean) => {\n\t\t\t\tthis._contextMenuIsBeingShownCount--;\n\t\t\t\tthis._editor.focus();\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _keybindingFor(action: IAction): ResolvedKeybinding | undefined {\n\t\treturn this._keybindingService.lookupKeybinding(action.id);\n\t}\n\n\tpublic dispose(): void {\n\t\tif (this._contextMenuIsBeingShownCount > 0) {\n\t\t\tthis._contextViewService.hideContextView();\n\t\t}\n\n\t\tthis._toDispose.dispose();\n\t}\n}\n\nclass ShowContextMenu extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.showContextMenu',\n\t\t\tlabel: nls.localize2('action.showContextMenu.label', \"Show Editor Context Menu\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.textInputFocus,\n\t\t\t\tprimary: KeyMod.Shift | KeyCode.F10,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic run(accessor: ServicesAccessor, editor: ICodeEditor): void {\n\t\tContextMenuController.get(editor)?.showContextMenu();\n\t}\n}\n\nregisterEditorContribution(ContextMenuController.ID, ContextMenuController, EditorContributionInstantiation.BeforeFirstInteraction);\nregisterEditorAction(ShowContextMenu);\n"]}
|
|
@@ -100,7 +100,7 @@ export class CursorUndo extends EditorAction {
|
|
|
100
100
|
constructor() {
|
|
101
101
|
super({
|
|
102
102
|
id: 'cursorUndo',
|
|
103
|
-
label: nls.localize2(
|
|
103
|
+
label: nls.localize2(907, "Cursor Undo"),
|
|
104
104
|
precondition: undefined,
|
|
105
105
|
kbOpts: {
|
|
106
106
|
kbExpr: EditorContextKeys.textInputFocus,
|
|
@@ -117,7 +117,7 @@ export class CursorRedo extends EditorAction {
|
|
|
117
117
|
constructor() {
|
|
118
118
|
super({
|
|
119
119
|
id: 'cursorRedo',
|
|
120
|
-
label: nls.localize2(
|
|
120
|
+
label: nls.localize2(908, "Cursor Redo"),
|
|
121
121
|
precondition: undefined
|
|
122
122
|
});
|
|
123
123
|
}
|
|
@@ -51,7 +51,7 @@ registerEditorAction(class PasteAsAction extends EditorAction {
|
|
|
51
51
|
properties: {
|
|
52
52
|
kind: {
|
|
53
53
|
type: 'string',
|
|
54
|
-
description: nls.localize(
|
|
54
|
+
description: nls.localize(909, "The kind of the paste edit to try pasting with.\nIf there are multiple edits for this kind, the editor will show a picker. If there are no edits of this kind, the editor will show an error message."),
|
|
55
55
|
}
|
|
56
56
|
},
|
|
57
57
|
},
|
|
@@ -61,7 +61,7 @@ registerEditorAction(class PasteAsAction extends EditorAction {
|
|
|
61
61
|
properties: {
|
|
62
62
|
preferences: {
|
|
63
63
|
type: 'array',
|
|
64
|
-
description: nls.localize(
|
|
64
|
+
description: nls.localize(910, "List of preferred paste edit kind to try applying.\nThe first edit matching the preferences will be applied."),
|
|
65
65
|
items: { type: 'string' }
|
|
66
66
|
}
|
|
67
67
|
},
|
|
@@ -71,7 +71,7 @@ registerEditorAction(class PasteAsAction extends EditorAction {
|
|
|
71
71
|
constructor() {
|
|
72
72
|
super({
|
|
73
73
|
id: pasteAsCommandId,
|
|
74
|
-
label: nls.localize2(
|
|
74
|
+
label: nls.localize2(911, "Paste As..."),
|
|
75
75
|
precondition: EditorContextKeys.writable,
|
|
76
76
|
metadata: {
|
|
77
77
|
description: 'Paste as',
|
|
@@ -99,7 +99,7 @@ registerEditorAction(class extends EditorAction {
|
|
|
99
99
|
constructor() {
|
|
100
100
|
super({
|
|
101
101
|
id: 'editor.action.pasteAsText',
|
|
102
|
-
label: nls.localize2(
|
|
102
|
+
label: nls.localize2(912, "Paste as Text"),
|
|
103
103
|
precondition: EditorContextKeys.writable,
|
|
104
104
|
});
|
|
105
105
|
}
|
|
@@ -47,7 +47,7 @@ import { createCombinedWorkspaceEdit, sortEditsByYieldTo } from './edit.js';
|
|
|
47
47
|
import { PostEditWidgetManager } from './postEditWidget.js';
|
|
48
48
|
export const changePasteTypeCommandId = 'editor.changePasteType';
|
|
49
49
|
export const pasteAsPreferenceConfig = 'editor.pasteAs.preferences';
|
|
50
|
-
export const pasteWidgetVisibleCtx = new RawContextKey('pasteWidgetVisible', false, localize(
|
|
50
|
+
export const pasteWidgetVisibleCtx = new RawContextKey('pasteWidgetVisible', false, localize(913, "Whether the paste widget is showing"));
|
|
51
51
|
const vscodeClipboardMime = 'application/vnd.code.copymetadata';
|
|
52
52
|
let CopyPasteController = class CopyPasteController extends Disposable {
|
|
53
53
|
static { CopyPasteController_1 = this; }
|
|
@@ -71,7 +71,7 @@ let CopyPasteController = class CopyPasteController extends Disposable {
|
|
|
71
71
|
this._register(addDisposableListener(container, 'cut', e => this.handleCopy(e)));
|
|
72
72
|
this._register(addDisposableListener(container, 'paste', e => this.handlePaste(e), true));
|
|
73
73
|
this._pasteProgressManager = this._register(new InlineProgressManager('pasteIntoEditor', editor, instantiationService));
|
|
74
|
-
this._postPasteWidgetManager = this._register(instantiationService.createInstance(PostEditWidgetManager, 'pasteIntoEditor', editor, pasteWidgetVisibleCtx, { id: changePasteTypeCommandId, label: localize(
|
|
74
|
+
this._postPasteWidgetManager = this._register(instantiationService.createInstance(PostEditWidgetManager, 'pasteIntoEditor', editor, pasteWidgetVisibleCtx, { id: changePasteTypeCommandId, label: localize(914, "Show paste options...") }, () => CopyPasteController_1._configureDefaultAction ? [CopyPasteController_1._configureDefaultAction] : []));
|
|
75
75
|
}
|
|
76
76
|
changePasteType() {
|
|
77
77
|
this._postPasteWidgetManager.tryShowSelector();
|
|
@@ -245,9 +245,9 @@ let CopyPasteController = class CopyPasteController extends Disposable {
|
|
|
245
245
|
const kindLabel = 'only' in preference
|
|
246
246
|
? preference.only.value
|
|
247
247
|
: 'preferences' in preference
|
|
248
|
-
? (preference.preferences.length ? preference.preferences.map(preference => preference.value).join(', ') : localize(
|
|
248
|
+
? (preference.preferences.length ? preference.preferences.map(preference => preference.value).join(', ') : localize(915, "empty"))
|
|
249
249
|
: preference.providerId;
|
|
250
|
-
MessageController.get(this._editor)?.showMessage(localize(
|
|
250
|
+
MessageController.get(this._editor)?.showMessage(localize(916, "No paste edits for '{0}' found", kindLabel), selections[0].getStartPosition());
|
|
251
251
|
}
|
|
252
252
|
doPasteInline(allProviders, selections, dataTransfer, metadata, clipboardEvent) {
|
|
253
253
|
this._logService.trace('CopyPasteController#doPasteInline');
|
|
@@ -297,7 +297,7 @@ let CopyPasteController = class CopyPasteController extends Disposable {
|
|
|
297
297
|
}
|
|
298
298
|
const resolveP = edit.provider.resolveDocumentPasteEdit(edit, resolveToken);
|
|
299
299
|
const showP = new DeferredPromise();
|
|
300
|
-
const resolved = await this._pasteProgressManager.showWhile(selections[0].getEndPosition(), localize(
|
|
300
|
+
const resolved = await this._pasteProgressManager.showWhile(selections[0].getEndPosition(), localize(917, "Resolving paste edit for '{0}'. Click to cancel", edit.title), raceCancellation(Promise.race([showP.p, resolveP]), resolveToken), {
|
|
301
301
|
cancel: () => showP.cancel()
|
|
302
302
|
}, 0);
|
|
303
303
|
if (resolved) {
|
|
@@ -316,7 +316,7 @@ let CopyPasteController = class CopyPasteController extends Disposable {
|
|
|
316
316
|
}
|
|
317
317
|
}
|
|
318
318
|
});
|
|
319
|
-
this._pasteProgressManager.showWhile(selections[0].getEndPosition(), localize(
|
|
319
|
+
this._pasteProgressManager.showWhile(selections[0].getEndPosition(), localize(918, "Running paste handlers. Click to cancel and do basic paste"), p, {
|
|
320
320
|
cancel: async () => {
|
|
321
321
|
p.cancel();
|
|
322
322
|
if (editorStateCts.token.isCancellationRequested) {
|
|
@@ -388,7 +388,7 @@ let CopyPasteController = class CopyPasteController extends Disposable {
|
|
|
388
388
|
else {
|
|
389
389
|
const configureDefaultItem = {
|
|
390
390
|
id: 'editor.pasteAs.default',
|
|
391
|
-
label: localize(
|
|
391
|
+
label: localize(919, "Configure default paste action"),
|
|
392
392
|
edit: undefined,
|
|
393
393
|
};
|
|
394
394
|
const selected = await this._quickInputService.pick([
|
|
@@ -405,7 +405,7 @@ let CopyPasteController = class CopyPasteController extends Disposable {
|
|
|
405
405
|
}
|
|
406
406
|
] : [])
|
|
407
407
|
], {
|
|
408
|
-
placeHolder: localize(
|
|
408
|
+
placeHolder: localize(920, "Select Paste Action"),
|
|
409
409
|
});
|
|
410
410
|
if (selected === configureDefaultItem) {
|
|
411
411
|
CopyPasteController_1._configureDefaultAction?.run();
|
|
@@ -428,7 +428,7 @@ let CopyPasteController = class CopyPasteController extends Disposable {
|
|
|
428
428
|
});
|
|
429
429
|
this._progressService.withProgress({
|
|
430
430
|
location: 10 /* ProgressLocation.Window */,
|
|
431
|
-
title: localize(
|
|
431
|
+
title: localize(921, "Running paste handlers"),
|
|
432
432
|
}, () => p);
|
|
433
433
|
}
|
|
434
434
|
setCopyMetadata(dataTransfer, metadata) {
|
|
@@ -72,7 +72,7 @@ export class DefaultTextPasteOrDropEditProvider extends SimplePasteAndDropProvid
|
|
|
72
72
|
const insertText = await textEntry.asString();
|
|
73
73
|
return {
|
|
74
74
|
handledMimeType: Mimes.text,
|
|
75
|
-
title: localize(
|
|
75
|
+
title: localize(922, "Insert Plain Text"),
|
|
76
76
|
insertText,
|
|
77
77
|
kind: this.kind,
|
|
78
78
|
};
|
|
@@ -105,14 +105,14 @@ class PathProvider extends SimplePasteAndDropProvider {
|
|
|
105
105
|
if (uriCount > 0) {
|
|
106
106
|
// Dropping at least one generic uri (such as https) so use most generic label
|
|
107
107
|
label = entries.length > 1
|
|
108
|
-
? localize(
|
|
109
|
-
: localize(
|
|
108
|
+
? localize(923, "Insert Uris")
|
|
109
|
+
: localize(924, "Insert Uri");
|
|
110
110
|
}
|
|
111
111
|
else {
|
|
112
112
|
// All the paths are file paths
|
|
113
113
|
label = entries.length > 1
|
|
114
|
-
? localize(
|
|
115
|
-
: localize(
|
|
114
|
+
? localize(925, "Insert Paths")
|
|
115
|
+
: localize(926, "Insert Path");
|
|
116
116
|
}
|
|
117
117
|
return {
|
|
118
118
|
handledMimeType: Mimes.uriList,
|
|
@@ -145,8 +145,8 @@ let RelativePathProvider = class RelativePathProvider extends SimplePasteAndDrop
|
|
|
145
145
|
handledMimeType: Mimes.uriList,
|
|
146
146
|
insertText: relativeUris.join(' '),
|
|
147
147
|
title: entries.length > 1
|
|
148
|
-
? localize(
|
|
149
|
-
: localize(
|
|
148
|
+
? localize(927, "Insert Relative Paths")
|
|
149
|
+
: localize(928, "Insert Relative Path"),
|
|
150
150
|
kind: this.kind,
|
|
151
151
|
};
|
|
152
152
|
}
|
|
@@ -176,7 +176,7 @@ class PasteHtmlProvider {
|
|
|
176
176
|
edits: [{
|
|
177
177
|
insertText: htmlText,
|
|
178
178
|
yieldTo: this._yieldTo,
|
|
179
|
-
title: localize(
|
|
179
|
+
title: localize(929, 'Insert HTML'),
|
|
180
180
|
kind: this.kind,
|
|
181
181
|
}],
|
|
182
182
|
};
|
|
@@ -34,7 +34,7 @@ import { sortEditsByYieldTo } from './edit.js';
|
|
|
34
34
|
import { PostEditWidgetManager } from './postEditWidget.js';
|
|
35
35
|
export const dropAsPreferenceConfig = 'editor.dropIntoEditor.preferences';
|
|
36
36
|
export const changeDropTypeCommandId = 'editor.changeDropType';
|
|
37
|
-
export const dropWidgetVisibleCtx = new RawContextKey('dropWidgetVisible', false, localize(
|
|
37
|
+
export const dropWidgetVisibleCtx = new RawContextKey('dropWidgetVisible', false, localize(930, "Whether the drop widget is showing"));
|
|
38
38
|
let DropIntoEditorController = class DropIntoEditorController extends Disposable {
|
|
39
39
|
static { DropIntoEditorController_1 = this; }
|
|
40
40
|
static { this.ID = 'editor.contrib.dropIntoEditorController'; }
|
|
@@ -48,7 +48,7 @@ let DropIntoEditorController = class DropIntoEditorController extends Disposable
|
|
|
48
48
|
this._treeViewsDragAndDropService = _treeViewsDragAndDropService;
|
|
49
49
|
this.treeItemsTransfer = LocalSelectionTransfer.getInstance();
|
|
50
50
|
this._dropProgressManager = this._register(instantiationService.createInstance(InlineProgressManager, 'dropIntoEditor', editor));
|
|
51
|
-
this._postDropWidgetManager = this._register(instantiationService.createInstance(PostEditWidgetManager, 'dropIntoEditor', editor, dropWidgetVisibleCtx, { id: changeDropTypeCommandId, label: localize(
|
|
51
|
+
this._postDropWidgetManager = this._register(instantiationService.createInstance(PostEditWidgetManager, 'dropIntoEditor', editor, dropWidgetVisibleCtx, { id: changeDropTypeCommandId, label: localize(931, "Show drop options...") }, () => DropIntoEditorController_1._configureDefaultAction ? [DropIntoEditorController_1._configureDefaultAction] : []));
|
|
52
52
|
this._register(editor.onDropIntoEditor(e => this.onDropIntoEditor(editor, e.position, e.event)));
|
|
53
53
|
}
|
|
54
54
|
clearWidgets() {
|
|
@@ -103,7 +103,7 @@ let DropIntoEditorController = class DropIntoEditorController extends Disposable
|
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
});
|
|
106
|
-
this._dropProgressManager.showWhile(position, localize(
|
|
106
|
+
this._dropProgressManager.showWhile(position, localize(932, "Running drop handlers. Click to cancel"), p, { cancel: () => p.cancel() });
|
|
107
107
|
DropIntoEditorController_1._currentDropOperation = p;
|
|
108
108
|
}
|
|
109
109
|
async getDropEdits(providers, model, position, dataTransfer, token) {
|
|
@@ -162,7 +162,7 @@ let PostEditWidgetManager = class PostEditWidgetManager extends Disposable {
|
|
|
162
162
|
resolvedEdit = await raceCancellationError(resolve(edit, editorStateCts.token), editorStateCts.token);
|
|
163
163
|
}
|
|
164
164
|
catch (e) {
|
|
165
|
-
return handleError(e, localize(
|
|
165
|
+
return handleError(e, localize(933, "Error resolving edit '{0}':\n{1}", edit.title, toErrorMessage(e)));
|
|
166
166
|
}
|
|
167
167
|
finally {
|
|
168
168
|
editorStateCts.dispose();
|
|
@@ -185,7 +185,7 @@ let PostEditWidgetManager = class PostEditWidgetManager extends Disposable {
|
|
|
185
185
|
editRange = model.getDecorationRange(editTrackingDecoration[0]);
|
|
186
186
|
}
|
|
187
187
|
catch (e) {
|
|
188
|
-
return handleError(e, localize(
|
|
188
|
+
return handleError(e, localize(934, "Error applying edit '{0}':\n{1}", edit.title, toErrorMessage(e)));
|
|
189
189
|
}
|
|
190
190
|
finally {
|
|
191
191
|
model.deltaDecorations(editTrackingDecoration, []);
|
|
@@ -10,7 +10,7 @@ import { createDecorator } from '../../../../platform/instantiation/common/insta
|
|
|
10
10
|
import { registerSingleton } from '../../../../platform/instantiation/common/extensions.js';
|
|
11
11
|
import { localize } from '../../../../nls.js';
|
|
12
12
|
const IEditorCancellationTokens = createDecorator('IEditorCancelService');
|
|
13
|
-
const ctxCancellableOperation = new RawContextKey('cancellableOperation', false, localize(
|
|
13
|
+
const ctxCancellableOperation = new RawContextKey('cancellableOperation', false, localize(935, 'Whether the editor runs a cancellable operation, e.g. like \'Peek References\''));
|
|
14
14
|
registerSingleton(IEditorCancellationTokens, class {
|
|
15
15
|
constructor() {
|
|
16
16
|
this._tokens = new WeakMap();
|