monaco-editor-core 0.56.0-dev-20251218 → 0.56.0-dev-20251219
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 +2 -2
- 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 +2 -2
- package/esm/nls.messages.pt-br.js +2 -2
- package/esm/nls.messages.ru.js +2 -2
- package/esm/nls.messages.tr.js +2 -2
- package/esm/nls.messages.zh-cn.js +2 -2
- package/esm/nls.messages.zh-tw.js +2 -2
- package/esm/nls.metadata.json +2 -0
- package/esm/vs/base/common/fuzzyScorer.js +3 -2
- package/esm/vs/base/common/fuzzyScorer.js.map +1 -1
- package/esm/vs/editor/common/core/editorColorRegistry.js +34 -33
- package/esm/vs/editor/common/core/editorColorRegistry.js.map +1 -1
- package/esm/vs/editor/common/cursor/cursorTypeEditOperations.js +3 -3
- package/esm/vs/editor/common/cursor/cursorTypeEditOperations.js.map +1 -1
- package/esm/vs/editor/common/editorContextKeys.js +47 -47
- 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 +11 -11
- package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
- package/esm/vs/editor/common/viewModel/viewModelImpl.js +4 -15
- package/esm/vs/editor/common/viewModel/viewModelImpl.js.map +1 -1
- package/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
- package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +18 -9
- package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js.map +1 -1
- 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/hoverColorPicker/hoverColorPickerParticipant.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 +10 -10
- 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/folding.js.map +1 -1
- package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
- 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/hoverCopyButton.js +2 -2
- 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 +21 -21
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +13 -13
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
- package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +5 -5
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js +4 -4
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.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/components/gutterIndicatorView.js +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +3 -3
- 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 +31 -31
- 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 +11 -11
- 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/suggest/browser/suggest.js +9 -9
- package/esm/vs/editor/contrib/suggest/browser/suggestController.js +11 -11
- 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 +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/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/hover/browser/hoverWidget.js +1 -1
- package/esm/vs/platform/hover/browser/updatableHoverWidget.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 +8 -8
- 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 +2 -2
- package/esm/vs/platform/quickinput/browser/quickInputUtils.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
- package/esm/vs/platform/theme/common/colorUtils.js +2 -2
- package/esm/vs/platform/theme/common/colors/baseColors.js +18 -18
- 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 +16 -16
- 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/package.json +2 -2
|
@@ -7,17 +7,17 @@ import { localize } from '../../../nls.js';
|
|
|
7
7
|
function hintDidYouMean(...meant) {
|
|
8
8
|
switch (meant.length) {
|
|
9
9
|
case 1:
|
|
10
|
-
return localize(
|
|
10
|
+
return localize(1713, "Did you mean {0}?", meant[0]);
|
|
11
11
|
case 2:
|
|
12
|
-
return localize(
|
|
12
|
+
return localize(1714, "Did you mean {0} or {1}?", meant[0], meant[1]);
|
|
13
13
|
case 3:
|
|
14
|
-
return localize(
|
|
14
|
+
return localize(1715, "Did you mean {0}, {1} or {2}?", meant[0], meant[1], meant[2]);
|
|
15
15
|
default: // we just don't expect that many
|
|
16
16
|
return undefined;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
const hintDidYouForgetToOpenOrCloseQuote = localize(
|
|
20
|
-
const hintDidYouForgetToEscapeSlash = localize(
|
|
19
|
+
const hintDidYouForgetToOpenOrCloseQuote = localize(1716, "Did you forget to open or close the quote?");
|
|
20
|
+
const hintDidYouForgetToEscapeSlash = localize(1717, "Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/\'.");
|
|
21
21
|
/**
|
|
22
22
|
* A simple scanner for context keys.
|
|
23
23
|
*
|
|
@@ -18,7 +18,7 @@ import { KeybindingsRegistry } from '../../keybinding/common/keybindingsRegistry
|
|
|
18
18
|
import { localize } from '../../../nls.js';
|
|
19
19
|
import { DisposableStore, toDisposable } from '../../../base/common/lifecycle.js';
|
|
20
20
|
import { isActiveElement } from '../../../base/browser/dom.js';
|
|
21
|
-
export const historyNavigationVisible = new RawContextKey('suggestWidgetVisible', false, localize(
|
|
21
|
+
export const historyNavigationVisible = new RawContextKey('suggestWidgetVisible', false, localize(1718, "Whether suggestion are visible"));
|
|
22
22
|
const HistoryNavigationWidgetFocusContext = 'historyNavigationWidgetFocus';
|
|
23
23
|
const HistoryNavigationForwardsEnablementContext = 'historyNavigationForwardsEnabled';
|
|
24
24
|
const HistoryNavigationBackwardsEnablementContext = 'historyNavigationBackwardsEnabled';
|
|
@@ -196,7 +196,7 @@ let HoverWidget = class HoverWidget extends Widget {
|
|
|
196
196
|
if (options.appearance?.showHoverHint) {
|
|
197
197
|
const statusBarElement = $('div.hover-row.status-bar');
|
|
198
198
|
const infoElement = $('div.info');
|
|
199
|
-
infoElement.textContent = localize(
|
|
199
|
+
infoElement.textContent = localize(1719, 'Hold {0} key to mouse over', isMacintosh ? 'Option' : 'Alt');
|
|
200
200
|
statusBarElement.appendChild(infoElement);
|
|
201
201
|
this._hover.containerDomNode.appendChild(statusBarElement);
|
|
202
202
|
}
|
|
@@ -47,7 +47,7 @@ export class ManagedHoverWidget {
|
|
|
47
47
|
if (managedContent instanceof Promise) {
|
|
48
48
|
// show 'Loading' if no hover is up yet
|
|
49
49
|
if (!this._hoverWidget) {
|
|
50
|
-
this.show(localize(
|
|
50
|
+
this.show(localize(1720, "Loading..."), focus, options);
|
|
51
51
|
}
|
|
52
52
|
resolvedContent = await managedContent;
|
|
53
53
|
}
|
|
@@ -95,11 +95,11 @@ export class AbstractKeybindingService extends Disposable {
|
|
|
95
95
|
throw illegalState('impossible');
|
|
96
96
|
case 1:
|
|
97
97
|
// TODO@ulugbekna: revise this message and the one below (at least, fix terminology)
|
|
98
|
-
this._currentChordStatusMessage = this._notificationService.status(nls.localize(
|
|
98
|
+
this._currentChordStatusMessage = this._notificationService.status(nls.localize(1721, "({0}) was pressed. Waiting for second key of chord...", keypressLabel));
|
|
99
99
|
break;
|
|
100
100
|
default: {
|
|
101
101
|
const fullKeypressLabel = this._currentChords.map(({ label }) => label).join(', ');
|
|
102
|
-
this._currentChordStatusMessage = this._notificationService.status(nls.localize(
|
|
102
|
+
this._currentChordStatusMessage = this._notificationService.status(nls.localize(1722, "({0}) was pressed. Waiting for next key of chord...", fullKeypressLabel));
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
this._scheduleLeaveChordMode();
|
|
@@ -198,7 +198,7 @@ export class AbstractKeybindingService extends Disposable {
|
|
|
198
198
|
if (this.inChordMode) {
|
|
199
199
|
const currentChordsLabel = this._currentChords.map(({ label }) => label).join(', ');
|
|
200
200
|
this._log(`+ Leaving multi-chord mode: Nothing bound to "${currentChordsLabel}, ${keypressLabel}".`);
|
|
201
|
-
this._notificationService.status(nls.localize(
|
|
201
|
+
this._notificationService.status(nls.localize(1723, "The key combination ({0}, {1}) is not a command.", currentChordsLabel, keypressLabel), { hideAfter: 10 * 1000 /* 10s */ });
|
|
202
202
|
this._leaveChordMode();
|
|
203
203
|
shouldPreventDefault = true;
|
|
204
204
|
}
|
|
@@ -217,7 +217,7 @@ export class AbstractKeybindingService extends Disposable {
|
|
|
217
217
|
if (this.inChordMode) {
|
|
218
218
|
const currentChordsLabel = this._currentChords.map(({ label }) => label).join(', ');
|
|
219
219
|
this._log(`+ Leaving chord mode: Nothing bound to "${currentChordsLabel}, ${keypressLabel}".`);
|
|
220
|
-
this._notificationService.status(nls.localize(
|
|
220
|
+
this._notificationService.status(nls.localize(1724, "The key combination ({0}, {1}) is not a command.", currentChordsLabel, keypressLabel), { hideAfter: 10 * 1000 /* 10s */ });
|
|
221
221
|
this._leaveChordMode();
|
|
222
222
|
shouldPreventDefault = true;
|
|
223
223
|
}
|
|
@@ -904,18 +904,18 @@ const configurationRegistry = Registry.as(ConfigurationExtensions.Configuration)
|
|
|
904
904
|
configurationRegistry.registerConfiguration({
|
|
905
905
|
id: 'workbench',
|
|
906
906
|
order: 7,
|
|
907
|
-
title: localize(
|
|
907
|
+
title: localize(1725, "Workbench"),
|
|
908
908
|
type: 'object',
|
|
909
909
|
properties: {
|
|
910
910
|
[multiSelectModifierSettingKey]: {
|
|
911
911
|
type: 'string',
|
|
912
912
|
enum: ['ctrlCmd', 'alt'],
|
|
913
913
|
markdownEnumDescriptions: [
|
|
914
|
-
localize(
|
|
915
|
-
localize(
|
|
914
|
+
localize(1726, "Maps to `Control` on Windows and Linux and to `Command` on macOS."),
|
|
915
|
+
localize(1727, "Maps to `Alt` on Windows and Linux and to `Option` on macOS.")
|
|
916
916
|
],
|
|
917
917
|
default: 'ctrlCmd',
|
|
918
|
-
description: localize(
|
|
918
|
+
description: localize(1728, "The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.")
|
|
919
919
|
|
|
920
920
|
|
|
921
921
|
|
|
@@ -927,7 +927,7 @@ configurationRegistry.registerConfiguration({
|
|
|
927
927
|
type: 'string',
|
|
928
928
|
enum: ['singleClick', 'doubleClick'],
|
|
929
929
|
default: 'singleClick',
|
|
930
|
-
description: localize(
|
|
930
|
+
description: localize(1729, "Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.")
|
|
931
931
|
|
|
932
932
|
|
|
933
933
|
|
|
@@ -935,96 +935,96 @@ configurationRegistry.registerConfiguration({
|
|
|
935
935
|
[horizontalScrollingKey]: {
|
|
936
936
|
type: 'boolean',
|
|
937
937
|
default: false,
|
|
938
|
-
description: localize(
|
|
938
|
+
description: localize(1730, "Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")
|
|
939
939
|
},
|
|
940
940
|
[scrollByPageKey]: {
|
|
941
941
|
type: 'boolean',
|
|
942
942
|
default: false,
|
|
943
|
-
description: localize(
|
|
943
|
+
description: localize(1731, "Controls whether clicks in the scrollbar scroll page by page.")
|
|
944
944
|
},
|
|
945
945
|
[treeIndentKey]: {
|
|
946
946
|
type: 'number',
|
|
947
947
|
default: 8,
|
|
948
948
|
minimum: 4,
|
|
949
949
|
maximum: 40,
|
|
950
|
-
description: localize(
|
|
950
|
+
description: localize(1732, "Controls tree indentation in pixels.")
|
|
951
951
|
},
|
|
952
952
|
[treeRenderIndentGuidesKey]: {
|
|
953
953
|
type: 'string',
|
|
954
954
|
enum: ['none', 'onHover', 'always'],
|
|
955
955
|
default: 'onHover',
|
|
956
|
-
description: localize(
|
|
956
|
+
description: localize(1733, "Controls whether the tree should render indent guides.")
|
|
957
957
|
},
|
|
958
958
|
[listSmoothScrolling]: {
|
|
959
959
|
type: 'boolean',
|
|
960
960
|
default: false,
|
|
961
|
-
description: localize(
|
|
961
|
+
description: localize(1734, "Controls whether lists and trees have smooth scrolling."),
|
|
962
962
|
},
|
|
963
963
|
[mouseWheelScrollSensitivityKey]: {
|
|
964
964
|
type: 'number',
|
|
965
965
|
default: 1,
|
|
966
|
-
markdownDescription: localize(
|
|
966
|
+
markdownDescription: localize(1735, "A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")
|
|
967
967
|
},
|
|
968
968
|
[fastScrollSensitivityKey]: {
|
|
969
969
|
type: 'number',
|
|
970
970
|
default: 5,
|
|
971
|
-
markdownDescription: localize(
|
|
971
|
+
markdownDescription: localize(1736, "Scrolling speed multiplier when pressing `Alt`.")
|
|
972
972
|
},
|
|
973
973
|
[defaultFindModeSettingKey]: {
|
|
974
974
|
type: 'string',
|
|
975
975
|
enum: ['highlight', 'filter'],
|
|
976
976
|
enumDescriptions: [
|
|
977
|
-
localize(
|
|
978
|
-
localize(
|
|
977
|
+
localize(1737, "Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),
|
|
978
|
+
localize(1738, "Filter elements when searching.")
|
|
979
979
|
],
|
|
980
980
|
default: 'highlight',
|
|
981
|
-
description: localize(
|
|
981
|
+
description: localize(1739, "Controls the default find mode for lists and trees in the workbench.")
|
|
982
982
|
},
|
|
983
983
|
[keyboardNavigationSettingKey]: {
|
|
984
984
|
type: 'string',
|
|
985
985
|
enum: ['simple', 'highlight', 'filter'],
|
|
986
986
|
enumDescriptions: [
|
|
987
|
-
localize(
|
|
988
|
-
localize(
|
|
989
|
-
localize(
|
|
987
|
+
localize(1740, "Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),
|
|
988
|
+
localize(1741, "Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),
|
|
989
|
+
localize(1742, "Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")
|
|
990
990
|
],
|
|
991
991
|
default: 'highlight',
|
|
992
|
-
description: localize(
|
|
992
|
+
description: localize(1743, "Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter."),
|
|
993
993
|
deprecated: true,
|
|
994
|
-
deprecationMessage: localize(
|
|
994
|
+
deprecationMessage: localize(1744, "Please use 'workbench.list.defaultFindMode' and 'workbench.list.typeNavigationMode' instead.")
|
|
995
995
|
},
|
|
996
996
|
[defaultFindMatchTypeSettingKey]: {
|
|
997
997
|
type: 'string',
|
|
998
998
|
enum: ['fuzzy', 'contiguous'],
|
|
999
999
|
enumDescriptions: [
|
|
1000
|
-
localize(
|
|
1001
|
-
localize(
|
|
1000
|
+
localize(1745, "Use fuzzy matching when searching."),
|
|
1001
|
+
localize(1746, "Use contiguous matching when searching.")
|
|
1002
1002
|
],
|
|
1003
1003
|
default: 'fuzzy',
|
|
1004
|
-
description: localize(
|
|
1004
|
+
description: localize(1747, "Controls the type of matching used when searching lists and trees in the workbench.")
|
|
1005
1005
|
},
|
|
1006
1006
|
[treeExpandMode]: {
|
|
1007
1007
|
type: 'string',
|
|
1008
1008
|
enum: ['singleClick', 'doubleClick'],
|
|
1009
1009
|
default: 'singleClick',
|
|
1010
|
-
description: localize(
|
|
1010
|
+
description: localize(1748, "Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable."),
|
|
1011
1011
|
},
|
|
1012
1012
|
[treeStickyScroll]: {
|
|
1013
1013
|
type: 'boolean',
|
|
1014
1014
|
default: true,
|
|
1015
|
-
description: localize(
|
|
1015
|
+
description: localize(1749, "Controls whether sticky scrolling is enabled in trees."),
|
|
1016
1016
|
},
|
|
1017
1017
|
[treeStickyScrollMaxElements]: {
|
|
1018
1018
|
type: 'number',
|
|
1019
1019
|
minimum: 1,
|
|
1020
1020
|
default: 7,
|
|
1021
|
-
markdownDescription: localize(
|
|
1021
|
+
markdownDescription: localize(1750, "Controls the number of sticky elements displayed in the tree when {0} is enabled.", '`#workbench.tree.enableStickyScroll#`'),
|
|
1022
1022
|
},
|
|
1023
1023
|
[typeNavigationModeSettingKey]: {
|
|
1024
1024
|
type: 'string',
|
|
1025
1025
|
enum: ['automatic', 'trigger'],
|
|
1026
1026
|
default: 'automatic',
|
|
1027
|
-
markdownDescription: localize(
|
|
1027
|
+
markdownDescription: localize(1751, "Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run."),
|
|
1028
1028
|
}
|
|
1029
1029
|
}
|
|
1030
1030
|
});
|
|
@@ -239,8 +239,8 @@ export class MarkerService {
|
|
|
239
239
|
*/
|
|
240
240
|
_createFilteredMarker(resource, reasons) {
|
|
241
241
|
const message = reasons.length === 1
|
|
242
|
-
? localize(
|
|
243
|
-
: localize(
|
|
242
|
+
? localize(1758, "Problems are paused because: \"{0}\"", reasons[0])
|
|
243
|
+
: localize(1759, "Problems are paused because: \"{0}\" and {1} more", reasons[0], reasons.length - 1);
|
|
244
244
|
return {
|
|
245
245
|
owner: 'markersFilter',
|
|
246
246
|
resource,
|
|
@@ -18,17 +18,17 @@ export var MarkerSeverity;
|
|
|
18
18
|
}
|
|
19
19
|
MarkerSeverity.compare = compare;
|
|
20
20
|
const _displayStrings = Object.create(null);
|
|
21
|
-
_displayStrings[MarkerSeverity.Error] = localize(
|
|
22
|
-
_displayStrings[MarkerSeverity.Warning] = localize(
|
|
23
|
-
_displayStrings[MarkerSeverity.Info] = localize(
|
|
21
|
+
_displayStrings[MarkerSeverity.Error] = localize(1752, "Error");
|
|
22
|
+
_displayStrings[MarkerSeverity.Warning] = localize(1753, "Warning");
|
|
23
|
+
_displayStrings[MarkerSeverity.Info] = localize(1754, "Info");
|
|
24
24
|
function toString(a) {
|
|
25
25
|
return _displayStrings[a] || '';
|
|
26
26
|
}
|
|
27
27
|
MarkerSeverity.toString = toString;
|
|
28
28
|
const _displayStringsPlural = Object.create(null);
|
|
29
|
-
_displayStringsPlural[MarkerSeverity.Error] = localize(
|
|
30
|
-
_displayStringsPlural[MarkerSeverity.Warning] = localize(
|
|
31
|
-
_displayStringsPlural[MarkerSeverity.Info] = localize(
|
|
29
|
+
_displayStringsPlural[MarkerSeverity.Error] = localize(1755, "Errors");
|
|
30
|
+
_displayStringsPlural[MarkerSeverity.Warning] = localize(1756, "Warnings");
|
|
31
|
+
_displayStringsPlural[MarkerSeverity.Info] = localize(1757, "Infos");
|
|
32
32
|
function toStringPlural(a) {
|
|
33
33
|
return _displayStringsPlural[a] || '';
|
|
34
34
|
}
|
|
@@ -170,22 +170,22 @@ let AbstractCommandsQuickAccessProvider = class AbstractCommandsQuickAccessProvi
|
|
|
170
170
|
const isInHistory = !!this.commandsHistory.peek(commandPick.commandId);
|
|
171
171
|
// Separator: recently used
|
|
172
172
|
if (i === 0 && isInHistory) {
|
|
173
|
-
commandPicks.push({ type: 'separator', label: localize(
|
|
173
|
+
commandPicks.push({ type: 'separator', label: localize(1760, "recently used") });
|
|
174
174
|
addOtherSeparator = true;
|
|
175
175
|
}
|
|
176
176
|
if (addSuggestedSeparator && commandPick.tfIdfScore !== undefined) {
|
|
177
|
-
commandPicks.push({ type: 'separator', label: localize(
|
|
177
|
+
commandPicks.push({ type: 'separator', label: localize(1761, "similar commands") });
|
|
178
178
|
addSuggestedSeparator = false;
|
|
179
179
|
}
|
|
180
180
|
// Separator: commonly used
|
|
181
181
|
if (addCommonlyUsedSeparator && commandPick.tfIdfScore === undefined && !isInHistory && this.options.suggestedCommandIds?.has(commandPick.commandId)) {
|
|
182
|
-
commandPicks.push({ type: 'separator', label: localize(
|
|
182
|
+
commandPicks.push({ type: 'separator', label: localize(1762, "commonly used") });
|
|
183
183
|
addOtherSeparator = true;
|
|
184
184
|
addCommonlyUsedSeparator = false;
|
|
185
185
|
}
|
|
186
186
|
// Separator: other commands
|
|
187
187
|
if (addOtherSeparator && commandPick.tfIdfScore === undefined && !isInHistory && !this.options.suggestedCommandIds?.has(commandPick.commandId)) {
|
|
188
|
-
commandPicks.push({ type: 'separator', label: localize(
|
|
188
|
+
commandPicks.push({ type: 'separator', label: localize(1763, "other commands") });
|
|
189
189
|
addOtherSeparator = false;
|
|
190
190
|
}
|
|
191
191
|
// Command
|
|
@@ -205,7 +205,7 @@ let AbstractCommandsQuickAccessProvider = class AbstractCommandsQuickAccessProvi
|
|
|
205
205
|
// Basically, if we haven't already added a separator, we add one before the additional picks so long
|
|
206
206
|
// as one hasn't been added to the start of the array.
|
|
207
207
|
if (addSuggestedSeparator && commandPicks[0]?.type !== 'separator') {
|
|
208
|
-
commandPicks.unshift({ type: 'separator', label: localize(
|
|
208
|
+
commandPicks.unshift({ type: 'separator', label: localize(1764, "similar commands") });
|
|
209
209
|
}
|
|
210
210
|
return commandPicks;
|
|
211
211
|
})()
|
|
@@ -217,7 +217,7 @@ let AbstractCommandsQuickAccessProvider = class AbstractCommandsQuickAccessProvi
|
|
|
217
217
|
}
|
|
218
218
|
const keybinding = this.keybindingService.lookupKeybinding(commandPick.commandId);
|
|
219
219
|
const ariaLabel = keybinding ?
|
|
220
|
-
localize(
|
|
220
|
+
localize(1765, "{0}, {1}", commandPick.label, keybinding.getAriaLabel()) :
|
|
221
221
|
commandPick.label;
|
|
222
222
|
// Add remove button for recently used items (as the last button, to the right)
|
|
223
223
|
const existingButtons = commandPick.buttons || [];
|
|
@@ -225,7 +225,7 @@ let AbstractCommandsQuickAccessProvider = class AbstractCommandsQuickAccessProvi
|
|
|
225
225
|
...existingButtons,
|
|
226
226
|
{
|
|
227
227
|
iconClass: ThemeIcon.asClassName(Codicon.close),
|
|
228
|
-
tooltip: localize(
|
|
228
|
+
tooltip: localize(1766, "Remove from Recently Used")
|
|
229
229
|
}
|
|
230
230
|
] : commandPick.buttons;
|
|
231
231
|
return {
|
|
@@ -250,7 +250,7 @@ let AbstractCommandsQuickAccessProvider = class AbstractCommandsQuickAccessProvi
|
|
|
250
250
|
}
|
|
251
251
|
catch (error) {
|
|
252
252
|
if (!isCancellationError(error)) {
|
|
253
|
-
this.dialogService.error(localize(
|
|
253
|
+
this.dialogService.error(localize(1767, "Command '{0}' resulted in an error", commandPick.label), toErrorMessage(error));
|
|
254
254
|
}
|
|
255
255
|
}
|
|
256
256
|
},
|
|
@@ -62,7 +62,7 @@ let HelpQuickAccessProvider = class HelpQuickAccessProvider {
|
|
|
62
62
|
prefix,
|
|
63
63
|
label,
|
|
64
64
|
keybinding: helpEntry.commandId ? this.keybindingService.lookupKeybinding(helpEntry.commandId) : undefined,
|
|
65
|
-
ariaLabel: localize(
|
|
65
|
+
ariaLabel: localize(1768, "{0}, {1}", label, helpEntry.description),
|
|
66
66
|
description: helpEntry.description
|
|
67
67
|
};
|
|
68
68
|
});
|
|
@@ -31,22 +31,22 @@ import { IHoverService, WorkbenchHoverDelegate } from '../../hover/browser/hover
|
|
|
31
31
|
import { ContextKeyExpr, RawContextKey } from '../../contextkey/common/contextkey.js';
|
|
32
32
|
import { observableValue } from '../../../base/common/observable.js';
|
|
33
33
|
export const inQuickInputContextKeyValue = 'inQuickInput';
|
|
34
|
-
export const InQuickInputContextKey = new RawContextKey(inQuickInputContextKeyValue, false, localize(
|
|
34
|
+
export const InQuickInputContextKey = new RawContextKey(inQuickInputContextKeyValue, false, localize(1769, "Whether keyboard focus is inside the quick input control"));
|
|
35
35
|
export const inQuickInputContext = ContextKeyExpr.has(inQuickInputContextKeyValue);
|
|
36
36
|
export const quickInputAlignmentContextKeyValue = 'quickInputAlignment';
|
|
37
|
-
export const QuickInputAlignmentContextKey = new RawContextKey(quickInputAlignmentContextKeyValue, 'top', localize(
|
|
37
|
+
export const QuickInputAlignmentContextKey = new RawContextKey(quickInputAlignmentContextKeyValue, 'top', localize(1770, "The alignment of the quick input"));
|
|
38
38
|
export const quickInputTypeContextKeyValue = 'quickInputType';
|
|
39
|
-
export const QuickInputTypeContextKey = new RawContextKey(quickInputTypeContextKeyValue, undefined, localize(
|
|
39
|
+
export const QuickInputTypeContextKey = new RawContextKey(quickInputTypeContextKeyValue, undefined, localize(1771, "The type of the currently visible quick input"));
|
|
40
40
|
export const endOfQuickInputBoxContextKeyValue = 'cursorAtEndOfQuickInputBox';
|
|
41
|
-
export const EndOfQuickInputBoxContextKey = new RawContextKey(endOfQuickInputBoxContextKeyValue, false, localize(
|
|
41
|
+
export const EndOfQuickInputBoxContextKey = new RawContextKey(endOfQuickInputBoxContextKeyValue, false, localize(1772, "Whether the cursor in the quick input is at the end of the input box"));
|
|
42
42
|
export const endOfQuickInputBoxContext = ContextKeyExpr.has(endOfQuickInputBoxContextKeyValue);
|
|
43
43
|
export const backButton = {
|
|
44
44
|
iconClass: ThemeIcon.asClassName(Codicon.quickInputBack),
|
|
45
|
-
tooltip: localize(
|
|
45
|
+
tooltip: localize(1773, "Back"),
|
|
46
46
|
handle: -1 // TODO
|
|
47
47
|
};
|
|
48
48
|
export class QuickInput extends Disposable {
|
|
49
|
-
static { this.noPromptMessage = localize(
|
|
49
|
+
static { this.noPromptMessage = localize(1774, "Press 'Enter' to confirm your input or 'Escape' to cancel"); }
|
|
50
50
|
constructor(ui) {
|
|
51
51
|
super();
|
|
52
52
|
this.ui = ui;
|
|
@@ -349,7 +349,7 @@ export class QuickInput extends Disposable {
|
|
|
349
349
|
}
|
|
350
350
|
getSteps() {
|
|
351
351
|
if (this.step && this.totalSteps) {
|
|
352
|
-
return localize(
|
|
352
|
+
return localize(1775, "{0}/{1}", this.step, this.totalSteps);
|
|
353
353
|
}
|
|
354
354
|
if (this.step) {
|
|
355
355
|
return String(this.step);
|
|
@@ -379,7 +379,7 @@ export class QuickInput extends Disposable {
|
|
|
379
379
|
}
|
|
380
380
|
}
|
|
381
381
|
export class QuickPick extends QuickInput {
|
|
382
|
-
static { this.DEFAULT_ARIA_LABEL = localize(
|
|
382
|
+
static { this.DEFAULT_ARIA_LABEL = localize(1776, "Type to narrow down results."); }
|
|
383
383
|
constructor(ui) {
|
|
384
384
|
super(ui);
|
|
385
385
|
this._value = '';
|
|
@@ -621,7 +621,7 @@ export class QuickPick extends QuickInput {
|
|
|
621
621
|
this.update();
|
|
622
622
|
}
|
|
623
623
|
get okLabel() {
|
|
624
|
-
return this._okLabel ?? localize(
|
|
624
|
+
return this._okLabel ?? localize(1777, "OK");
|
|
625
625
|
}
|
|
626
626
|
set okLabel(okLabel) {
|
|
627
627
|
this._okLabel = okLabel;
|
|
@@ -968,7 +968,7 @@ export class InputBox extends QuickInput {
|
|
|
968
968
|
set prompt(prompt) {
|
|
969
969
|
this._prompt = prompt;
|
|
970
970
|
this.noValidationMessage = prompt
|
|
971
|
-
? localize(
|
|
971
|
+
? localize(1778, "{0} (Press 'Enter' to confirm or 'Escape' to cancel)", prompt)
|
|
972
972
|
: QuickInput.noPromptMessage;
|
|
973
973
|
this.update();
|
|
974
974
|
}
|
|
@@ -13,7 +13,7 @@ function registerQuickInputCommandAndKeybindingRule(rule, options = {}) {
|
|
|
13
13
|
KeybindingsRegistry.registerCommandAndKeybindingRule({
|
|
14
14
|
weight: 200 /* KeybindingWeight.WorkbenchContrib */,
|
|
15
15
|
when: inQuickInputContext,
|
|
16
|
-
metadata: { description: localize(
|
|
16
|
+
metadata: { description: localize(1779, "Used while in the context of any kind of quick input. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.") },
|
|
17
17
|
...rule,
|
|
18
18
|
secondary: getSecondary(rule.primary, rule.secondary ?? [], options)
|
|
19
19
|
});
|
|
@@ -24,7 +24,7 @@ function registerQuickPickCommandAndKeybindingRule(rule, options = {}) {
|
|
|
24
24
|
when: ContextKeyExpr.and(ContextKeyExpr.or(
|
|
25
25
|
// Only things that use Tree widgets
|
|
26
26
|
ContextKeyExpr.equals(quickInputTypeContextKeyValue, "quickPick" /* QuickInputType.QuickPick */), ContextKeyExpr.equals(quickInputTypeContextKeyValue, "quickTree" /* QuickInputType.QuickTree */)), inQuickInputContext),
|
|
27
|
-
metadata: { description: localize(
|
|
27
|
+
metadata: { description: localize(1780, "Used while in the context of the quick pick. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.") },
|
|
28
28
|
...rule,
|
|
29
29
|
secondary: getSecondary(rule.primary, rule.secondary ?? [], options)
|
|
30
30
|
});
|
|
@@ -79,8 +79,8 @@ registerQuickPickCommandAndKeybindingRule({ id: 'quickInput.previous', primary:
|
|
|
79
79
|
// In this case, we want that modifier key+up/down to navigate to the next/previous item, not the next/previous separator.
|
|
80
80
|
// To handle this, we have a separate command for navigating to the next/previous separator when we are not in quick access mode.
|
|
81
81
|
// If, however, we are in quick access mode, and you hold down an additional modifier key, we will navigate to the next/previous separator.
|
|
82
|
-
const nextSeparatorFallbackDesc = localize(
|
|
83
|
-
const prevSeparatorFallbackDesc = localize(
|
|
82
|
+
const nextSeparatorFallbackDesc = localize(1781, "If we're in quick access mode, this will navigate to the next item. If we are not in quick access mode, this will navigate to the next separator.");
|
|
83
|
+
const prevSeparatorFallbackDesc = localize(1782, "If we're in quick access mode, this will navigate to the previous item. If we are not in quick access mode, this will navigate to the previous separator.");
|
|
84
84
|
if (isMacintosh) {
|
|
85
85
|
registerQuickPickCommandAndKeybindingRule({
|
|
86
86
|
id: 'quickInput.nextSeparatorWithQuickAccessFallback',
|
|
@@ -145,7 +145,7 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
|
|
|
145
145
|
// All other kinds of Quick things handle Accept, except Widget. In other words, Accepting is a detail on the things
|
|
146
146
|
// that extend IQuickInput
|
|
147
147
|
ContextKeyExpr.notEquals(quickInputTypeContextKeyValue, "quickWidget" /* QuickInputType.QuickWidget */), inQuickInputContext, ContextKeyExpr.not('isComposing')),
|
|
148
|
-
metadata: { description: localize(
|
|
148
|
+
metadata: { description: localize(1783, "Used while in the context of some quick input. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.") },
|
|
149
149
|
handler: (accessor) => {
|
|
150
150
|
const currentQuickPick = accessor.get(IQuickInputService).currentQuickInput;
|
|
151
151
|
currentQuickPick?.accept();
|
|
@@ -124,7 +124,7 @@ let QuickInputController = class QuickInputController extends Disposable {
|
|
|
124
124
|
}));
|
|
125
125
|
rightActionBar.domNode.classList.add('quick-input-right-action-bar');
|
|
126
126
|
const headerContainer = dom.append(container, $('.quick-input-header'));
|
|
127
|
-
const checkAll = this._register(new TriStateCheckbox(localize(
|
|
127
|
+
const checkAll = this._register(new TriStateCheckbox(localize(1784, "Toggle all checkboxes"), false, { ...defaultCheckboxStyles, size: 15 }));
|
|
128
128
|
dom.append(headerContainer, checkAll.domNode);
|
|
129
129
|
this._register(checkAll.onChange(() => {
|
|
130
130
|
const checked = checkAll.checked;
|
|
@@ -143,10 +143,10 @@ let QuickInputController = class QuickInputController extends Disposable {
|
|
|
143
143
|
const visibleCountContainer = dom.append(filterContainer, $('.quick-input-visible-count'));
|
|
144
144
|
visibleCountContainer.setAttribute('aria-live', 'polite');
|
|
145
145
|
visibleCountContainer.setAttribute('aria-atomic', 'true');
|
|
146
|
-
const visibleCount = this._register(new CountBadge(visibleCountContainer, { countFormat: localize(
|
|
146
|
+
const visibleCount = this._register(new CountBadge(visibleCountContainer, { countFormat: localize(1785, "{0} Results") }, this.styles.countBadge));
|
|
147
147
|
const countContainer = dom.append(filterContainer, $('.quick-input-count'));
|
|
148
148
|
countContainer.setAttribute('aria-live', 'polite');
|
|
149
|
-
const count = this._register(new CountBadge(countContainer, { countFormat: localize(
|
|
149
|
+
const count = this._register(new CountBadge(countContainer, { countFormat: localize(1786, "{0} Selected") }, this.styles.countBadge));
|
|
150
150
|
const inlineActionBar = this._register(new ActionBar(headerContainer, {
|
|
151
151
|
hoverDelegate: this.options.hoverDelegate,
|
|
152
152
|
actionViewItemProvider: createToggleActionViewItemProvider(this.styles.toggle)
|
|
@@ -154,13 +154,13 @@ let QuickInputController = class QuickInputController extends Disposable {
|
|
|
154
154
|
inlineActionBar.domNode.classList.add('quick-input-inline-action-bar');
|
|
155
155
|
const okContainer = dom.append(headerContainer, $('.quick-input-action'));
|
|
156
156
|
const ok = this._register(new Button(okContainer, this.styles.button));
|
|
157
|
-
ok.label = localize(
|
|
157
|
+
ok.label = localize(1787, "OK");
|
|
158
158
|
this._register(ok.onDidClick(e => {
|
|
159
159
|
this.onDidAcceptEmitter.fire();
|
|
160
160
|
}));
|
|
161
161
|
const customButtonContainer = dom.append(headerContainer, $('.quick-input-action'));
|
|
162
162
|
const customButton = this._register(new Button(customButtonContainer, { ...this.styles.button, supportIcons: true }));
|
|
163
|
-
customButton.label = localize(
|
|
163
|
+
customButton.label = localize(1788, "Custom");
|
|
164
164
|
this._register(customButton.onDidClick(e => {
|
|
165
165
|
this.onDidCustomEmitter.fire();
|
|
166
166
|
}));
|
|
@@ -598,7 +598,7 @@ let QuickInputController = class QuickInputController extends Disposable {
|
|
|
598
598
|
ui.inputBox.toggles = undefined;
|
|
599
599
|
ui.inputBox.actions = undefined;
|
|
600
600
|
const backKeybindingLabel = this.options.backKeybindingLabel();
|
|
601
|
-
backButton.tooltip = backKeybindingLabel ? localize(
|
|
601
|
+
backButton.tooltip = backKeybindingLabel ? localize(1789, "Back ({0})", backKeybindingLabel) : localize(1790, "Back");
|
|
602
602
|
ui.container.style.display = '';
|
|
603
603
|
this.updateLayout();
|
|
604
604
|
this.dndController?.layoutContainer();
|
|
@@ -206,7 +206,7 @@ class QuickInputItemDelegate {
|
|
|
206
206
|
}
|
|
207
207
|
class QuickInputAccessibilityProvider {
|
|
208
208
|
getWidgetAriaLabel() {
|
|
209
|
-
return localize(
|
|
209
|
+
return localize(1791, "Quick Input");
|
|
210
210
|
}
|
|
211
211
|
getAriaLabel(element) {
|
|
212
212
|
return element.separator?.label
|
|
@@ -64,7 +64,7 @@ export function quickInputButtonToAction(button, id, run) {
|
|
|
64
64
|
return run();
|
|
65
65
|
};
|
|
66
66
|
const action = button.toggle
|
|
67
|
-
? new QuickInputToggleButtonAction(id,
|
|
67
|
+
? new QuickInputToggleButtonAction(id, button.tooltip || '', '', cssClasses, true, button.toggle.checked, handler)
|
|
68
68
|
: {
|
|
69
69
|
id,
|
|
70
70
|
label: '',
|
|
@@ -86,7 +86,7 @@ export function renderQuickInputDescription(description, container, actionHandle
|
|
|
86
86
|
else {
|
|
87
87
|
let title = node.title;
|
|
88
88
|
if (!title && node.href.startsWith('command:')) {
|
|
89
|
-
title = localize(
|
|
89
|
+
title = localize(1792, "Click to execute command '{0}'", node.href.substring('command:'.length));
|
|
90
90
|
}
|
|
91
91
|
else if (!title) {
|
|
92
92
|
title = node.href;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vs/platform/quickinput/browser/quickInputUtils.ts"],"names":[],"mappings":"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","file":"quickInputUtils.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 * as domStylesheetsJs from '../../../base/browser/domStylesheets.js';\nimport * as cssJs from '../../../base/browser/cssValue.js';\nimport { DomEmitter } from '../../../base/browser/event.js';\nimport { Event } from '../../../base/common/event.js';\nimport { StandardKeyboardEvent } from '../../../base/browser/keyboardEvent.js';\nimport { Gesture, EventType as GestureEventType } from '../../../base/browser/touch.js';\nimport { renderLabelWithIcons } from '../../../base/browser/ui/iconLabel/iconLabels.js';\nimport { IdGenerator } from '../../../base/common/idGenerator.js';\nimport { KeyCode } from '../../../base/common/keyCodes.js';\nimport { parseLinkedText } from '../../../base/common/linkedText.js';\nimport { URI } from '../../../base/common/uri.js';\nimport './media/quickInput.css';\nimport { localize } from '../../../nls.js';\nimport { DisposableStore } from '../../../base/common/lifecycle.js';\nimport { IQuickInputButton } from '../common/quickInput.js';\nimport { IAction } from '../../../base/common/actions.js';\n\nconst iconPathToClass: Record<string, string> = {};\nconst iconClassGenerator = new IdGenerator('quick-input-button-icon-');\n\nfunction getIconClass(iconPath: { dark: URI; light?: URI } | undefined): string | undefined {\n\tif (!iconPath) {\n\t\treturn undefined;\n\t}\n\tlet iconClass: string;\n\n\tconst key = iconPath.dark.toString();\n\tif (iconPathToClass[key]) {\n\t\ticonClass = iconPathToClass[key];\n\t} else {\n\t\ticonClass = iconClassGenerator.nextId();\n\t\tdomStylesheetsJs.createCSSRule(`.${iconClass}, .hc-light .${iconClass}`, `background-image: ${cssJs.asCSSUrl(iconPath.light || iconPath.dark)}`);\n\t\tdomStylesheetsJs.createCSSRule(`.vs-dark .${iconClass}, .hc-black .${iconClass}`, `background-image: ${cssJs.asCSSUrl(iconPath.dark)}`);\n\t\ticonPathToClass[key] = iconClass;\n\t}\n\n\treturn iconClass;\n}\n\nclass QuickInputToggleButtonAction implements IAction {\n\tclass: string | undefined;\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic label: string,\n\t\tpublic tooltip: string,\n\t\tclassName: string | undefined,\n\t\tpublic enabled: boolean,\n\t\tprivate _checked: boolean,\n\t\tpublic run: () => unknown\n\t) {\n\t\tthis.class = className;\n\t}\n\n\tget checked(): boolean {\n\t\treturn this._checked;\n\t}\n\n\tset checked(value: boolean) {\n\t\tthis._checked = value;\n\t\t// Toggles behave like buttons. When clicked, they run... the only difference is that their checked state also changes.\n\t\tthis.run();\n\t}\n}\n\nexport function quickInputButtonToAction(button: IQuickInputButton, id: string, run: () => unknown): IAction {\n\tlet cssClasses = button.iconClass || getIconClass(button.iconPath);\n\tif (button.alwaysVisible) {\n\t\tcssClasses = cssClasses ? `${cssClasses} always-visible` : 'always-visible';\n\t}\n\n\tconst handler = () => {\n\t\tif (button.toggle) {\n\t\t\tbutton.toggle.checked = !button.toggle.checked;\n\t\t}\n\t\treturn run();\n\t};\n\n\tconst action = button.toggle\n\t\t? new QuickInputToggleButtonAction(\n\t\t\tid,\n\t\t\t'',\n\t\t\tbutton.tooltip || '',\n\t\t\tcssClasses,\n\t\t\ttrue,\n\t\t\tbutton.toggle.checked,\n\t\t\thandler\n\t\t)\n\t\t: {\n\t\t\tid,\n\t\t\tlabel: '',\n\t\t\ttooltip: button.tooltip || '',\n\t\t\tclass: cssClasses,\n\t\t\tenabled: true,\n\t\t\trun: handler,\n\t\t};\n\n\treturn action;\n}\n\nexport function renderQuickInputDescription(description: string, container: HTMLElement, actionHandler: { callback: (content: string) => void; disposables: DisposableStore }) {\n\tdom.reset(container);\n\tconst parsed = parseLinkedText(description);\n\tlet tabIndex = 0;\n\tfor (const node of parsed.nodes) {\n\t\tif (typeof node === 'string') {\n\t\t\tcontainer.append(...renderLabelWithIcons(node));\n\t\t} else {\n\t\t\tlet title = node.title;\n\n\t\t\tif (!title && node.href.startsWith('command:')) {\n\t\t\t\ttitle = localize('executeCommand', \"Click to execute command '{0}'\", node.href.substring('command:'.length));\n\t\t\t} else if (!title) {\n\t\t\t\ttitle = node.href;\n\t\t\t}\n\n\t\t\tconst anchor = dom.$('a', { href: node.href, title, tabIndex: tabIndex++ }, node.label);\n\t\t\tanchor.style.textDecoration = 'underline';\n\t\t\tconst handleOpen = (e: unknown) => {\n\t\t\t\tif (dom.isEventLike(e)) {\n\t\t\t\t\tdom.EventHelper.stop(e, true);\n\t\t\t\t}\n\n\t\t\t\tactionHandler.callback(node.href);\n\t\t\t};\n\n\t\t\tconst onClick = actionHandler.disposables.add(new DomEmitter(anchor, dom.EventType.CLICK)).event;\n\t\t\tconst onKeydown = actionHandler.disposables.add(new DomEmitter(anchor, dom.EventType.KEY_DOWN)).event;\n\t\t\tconst onSpaceOrEnter = Event.chain(onKeydown, $ => $.filter(e => {\n\t\t\t\tconst event = new StandardKeyboardEvent(e);\n\n\t\t\t\treturn event.equals(KeyCode.Space) || event.equals(KeyCode.Enter);\n\t\t\t}));\n\n\t\t\tactionHandler.disposables.add(Gesture.addTarget(anchor));\n\t\t\tconst onTap = actionHandler.disposables.add(new DomEmitter(anchor, GestureEventType.Tap)).event;\n\n\t\t\tEvent.any(onClick, onTap, onSpaceOrEnter)(handleOpen, null, actionHandler.disposables);\n\t\t\tcontainer.appendChild(anchor);\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["vs/platform/quickinput/browser/quickInputUtils.ts"],"names":[],"mappings":"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","file":"quickInputUtils.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 * as domStylesheetsJs from '../../../base/browser/domStylesheets.js';\nimport * as cssJs from '../../../base/browser/cssValue.js';\nimport { DomEmitter } from '../../../base/browser/event.js';\nimport { Event } from '../../../base/common/event.js';\nimport { StandardKeyboardEvent } from '../../../base/browser/keyboardEvent.js';\nimport { Gesture, EventType as GestureEventType } from '../../../base/browser/touch.js';\nimport { renderLabelWithIcons } from '../../../base/browser/ui/iconLabel/iconLabels.js';\nimport { IdGenerator } from '../../../base/common/idGenerator.js';\nimport { KeyCode } from '../../../base/common/keyCodes.js';\nimport { parseLinkedText } from '../../../base/common/linkedText.js';\nimport { URI } from '../../../base/common/uri.js';\nimport './media/quickInput.css';\nimport { localize } from '../../../nls.js';\nimport { DisposableStore } from '../../../base/common/lifecycle.js';\nimport { IQuickInputButton } from '../common/quickInput.js';\nimport { IAction } from '../../../base/common/actions.js';\n\nconst iconPathToClass: Record<string, string> = {};\nconst iconClassGenerator = new IdGenerator('quick-input-button-icon-');\n\nfunction getIconClass(iconPath: { dark: URI; light?: URI } | undefined): string | undefined {\n\tif (!iconPath) {\n\t\treturn undefined;\n\t}\n\tlet iconClass: string;\n\n\tconst key = iconPath.dark.toString();\n\tif (iconPathToClass[key]) {\n\t\ticonClass = iconPathToClass[key];\n\t} else {\n\t\ticonClass = iconClassGenerator.nextId();\n\t\tdomStylesheetsJs.createCSSRule(`.${iconClass}, .hc-light .${iconClass}`, `background-image: ${cssJs.asCSSUrl(iconPath.light || iconPath.dark)}`);\n\t\tdomStylesheetsJs.createCSSRule(`.vs-dark .${iconClass}, .hc-black .${iconClass}`, `background-image: ${cssJs.asCSSUrl(iconPath.dark)}`);\n\t\ticonPathToClass[key] = iconClass;\n\t}\n\n\treturn iconClass;\n}\n\nclass QuickInputToggleButtonAction implements IAction {\n\tclass: string | undefined;\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic label: string,\n\t\tpublic tooltip: string,\n\t\tclassName: string | undefined,\n\t\tpublic enabled: boolean,\n\t\tprivate _checked: boolean,\n\t\tpublic run: () => unknown\n\t) {\n\t\tthis.class = className;\n\t}\n\n\tget checked(): boolean {\n\t\treturn this._checked;\n\t}\n\n\tset checked(value: boolean) {\n\t\tthis._checked = value;\n\t\t// Toggles behave like buttons. When clicked, they run... the only difference is that their checked state also changes.\n\t\tthis.run();\n\t}\n}\n\nexport function quickInputButtonToAction(button: IQuickInputButton, id: string, run: () => unknown): IAction {\n\tlet cssClasses = button.iconClass || getIconClass(button.iconPath);\n\tif (button.alwaysVisible) {\n\t\tcssClasses = cssClasses ? `${cssClasses} always-visible` : 'always-visible';\n\t}\n\n\tconst handler = () => {\n\t\tif (button.toggle) {\n\t\t\tbutton.toggle.checked = !button.toggle.checked;\n\t\t}\n\t\treturn run();\n\t};\n\n\tconst action = button.toggle\n\t\t? new QuickInputToggleButtonAction(\n\t\t\tid,\n\t\t\tbutton.tooltip || '',\n\t\t\t'',\n\t\t\tcssClasses,\n\t\t\ttrue,\n\t\t\tbutton.toggle.checked,\n\t\t\thandler\n\t\t)\n\t\t: {\n\t\t\tid,\n\t\t\tlabel: '',\n\t\t\ttooltip: button.tooltip || '',\n\t\t\tclass: cssClasses,\n\t\t\tenabled: true,\n\t\t\trun: handler,\n\t\t};\n\n\treturn action;\n}\n\nexport function renderQuickInputDescription(description: string, container: HTMLElement, actionHandler: { callback: (content: string) => void; disposables: DisposableStore }) {\n\tdom.reset(container);\n\tconst parsed = parseLinkedText(description);\n\tlet tabIndex = 0;\n\tfor (const node of parsed.nodes) {\n\t\tif (typeof node === 'string') {\n\t\t\tcontainer.append(...renderLabelWithIcons(node));\n\t\t} else {\n\t\t\tlet title = node.title;\n\n\t\t\tif (!title && node.href.startsWith('command:')) {\n\t\t\t\ttitle = localize('executeCommand', \"Click to execute command '{0}'\", node.href.substring('command:'.length));\n\t\t\t} else if (!title) {\n\t\t\t\ttitle = node.href;\n\t\t\t}\n\n\t\t\tconst anchor = dom.$('a', { href: node.href, title, tabIndex: tabIndex++ }, node.label);\n\t\t\tanchor.style.textDecoration = 'underline';\n\t\t\tconst handleOpen = (e: unknown) => {\n\t\t\t\tif (dom.isEventLike(e)) {\n\t\t\t\t\tdom.EventHelper.stop(e, true);\n\t\t\t\t}\n\n\t\t\t\tactionHandler.callback(node.href);\n\t\t\t};\n\n\t\t\tconst onClick = actionHandler.disposables.add(new DomEmitter(anchor, dom.EventType.CLICK)).event;\n\t\t\tconst onKeydown = actionHandler.disposables.add(new DomEmitter(anchor, dom.EventType.KEY_DOWN)).event;\n\t\t\tconst onSpaceOrEnter = Event.chain(onKeydown, $ => $.filter(e => {\n\t\t\t\tconst event = new StandardKeyboardEvent(e);\n\n\t\t\t\treturn event.equals(KeyCode.Space) || event.equals(KeyCode.Enter);\n\t\t\t}));\n\n\t\t\tactionHandler.disposables.add(Gesture.addTarget(anchor));\n\t\t\tconst onTap = actionHandler.disposables.add(new DomEmitter(anchor, GestureEventType.Tap)).event;\n\n\t\t\tEvent.any(onClick, onTap, onSpaceOrEnter)(handleOpen, null, actionHandler.disposables);\n\t\t\tcontainer.appendChild(anchor);\n\t\t}\n\t}\n}\n"]}
|
|
@@ -13,7 +13,7 @@ export class QuickTreeAccessibilityProvider {
|
|
|
13
13
|
this.onCheckedEvent = onCheckedEvent;
|
|
14
14
|
}
|
|
15
15
|
getWidgetAriaLabel() {
|
|
16
|
-
return localize(
|
|
16
|
+
return localize(1793, "Quick Tree");
|
|
17
17
|
}
|
|
18
18
|
getAriaLabel(element) {
|
|
19
19
|
return element.ariaLabel || [element.label, element.description]
|
|
@@ -51,13 +51,13 @@ class ColorRegistry extends Disposable {
|
|
|
51
51
|
}
|
|
52
52
|
if (needsTransparency) {
|
|
53
53
|
propertySchema.pattern = '^#(?:(?<rgba>[0-9a-fA-f]{3}[0-9a-eA-E])|(?:[0-9a-fA-F]{6}(?:(?![fF]{2})(?:[0-9a-fA-F]{2}))))?$';
|
|
54
|
-
propertySchema.patternErrorMessage = nls.localize(
|
|
54
|
+
propertySchema.patternErrorMessage = nls.localize(2044, 'This color must be transparent or it will obscure content');
|
|
55
55
|
}
|
|
56
56
|
this.colorSchema.properties[id] = {
|
|
57
57
|
description,
|
|
58
58
|
oneOf: [
|
|
59
59
|
propertySchema,
|
|
60
|
-
{ type: 'string', const: DEFAULT_COLOR_CONFIG_VALUE, description: nls.localize(
|
|
60
|
+
{ type: 'string', const: DEFAULT_COLOR_CONFIG_VALUE, description: nls.localize(2045, 'Use the default color.') }
|
|
61
61
|
]
|
|
62
62
|
};
|
|
63
63
|
this.colorReferenceSchema.enum.push(id);
|