monaco-editor-core 0.55.0-dev-20251007 → 0.55.0-dev-20251009
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.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.ru.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 +3 -1
- package/esm/vs/base/browser/markdownRenderer.js.map +1 -1
- package/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/esm/vs/base/browser/ui/toolbar/toolbar.js +4 -1
- package/esm/vs/base/browser/ui/toolbar/toolbar.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/abstractTree.js +2 -5
- package/esm/vs/base/browser/ui/tree/abstractTree.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/asyncDataTree.js +6 -8
- package/esm/vs/base/browser/ui/tree/asyncDataTree.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/dataTree.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/indexTreeModel.js +1 -2
- package/esm/vs/base/browser/ui/tree/indexTreeModel.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/objectTree.js.map +1 -1
- package/esm/vs/base/common/codiconsLibrary.js +9 -1
- package/esm/vs/base/common/codiconsLibrary.js.map +1 -1
- package/esm/vs/base/common/normalization.js +39 -0
- package/esm/vs/base/common/normalization.js.map +1 -0
- package/esm/vs/base/common/process.js +0 -1
- package/esm/vs/base/common/process.js.map +1 -1
- package/esm/vs/editor/browser/services/hoverService/hoverWidget.js +5 -8
- package/esm/vs/editor/browser/services/hoverService/hoverWidget.js.map +1 -1
- package/esm/vs/editor/browser/widget/markdownRenderer/browser/markdownRenderer.js +36 -31
- package/esm/vs/editor/browser/widget/markdownRenderer/browser/markdownRenderer.js.map +1 -1
- package/esm/vs/editor/common/core/text/abstractText.js +5 -1
- package/esm/vs/editor/common/core/text/abstractText.js.map +1 -1
- package/esm/vs/editor/common/model/tokens/treeSitter/tokenStore.js +2 -1
- package/esm/vs/editor/common/model/tokens/treeSitter/tokenStore.js.map +1 -1
- package/esm/vs/editor/contrib/find/browser/findController.js +54 -61
- package/esm/vs/editor/contrib/find/browser/findController.js.map +1 -1
- package/esm/vs/editor/contrib/hover/browser/glyphHoverWidget.js +5 -8
- package/esm/vs/editor/contrib/hover/browser/glyphHoverWidget.js.map +1 -1
- package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +18 -23
- package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js.map +1 -1
- package/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
- package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +10 -12
- package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +9 -13
- package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +8 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js +2 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +2 -2
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +27 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +1 -1
- 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 +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 +10 -12
- package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js.map +1 -1
- 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 +5 -5
- 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/rename/browser/renameWidget.js.map +1 -1
- 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 +8 -8
- package/esm/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
- package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +18 -24
- package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js.map +1 -1
- package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +15 -18
- package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js.map +1 -1
- 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 +7 -6
- package/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js.map +1 -1
- package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +29 -32
- package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js.map +1 -1
- 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/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/dataChannel/browser/forwardingTelemetryService.js +1 -2
- package/esm/vs/platform/dataChannel/browser/forwardingTelemetryService.js.map +1 -1
- package/esm/vs/platform/dnd/browser/dnd.js +1 -3
- package/esm/vs/platform/dnd/browser/dnd.js.map +1 -1
- 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/product/common/product.js +1 -2
- package/esm/vs/platform/product/common/product.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +33 -9
- package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js.map +1 -1
- 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/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/package.json +2 -2
- package/version.txt +1 -1
|
@@ -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(1679, "Did you mean {0}?", meant[0]);
|
|
11
11
|
case 2:
|
|
12
|
-
return localize(
|
|
12
|
+
return localize(1680, "Did you mean {0} or {1}?", meant[0], meant[1]);
|
|
13
13
|
case 3:
|
|
14
|
-
return localize(
|
|
14
|
+
return localize(1681, "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(1682, "Did you forget to open or close the quote?");
|
|
20
|
+
const hintDidYouForgetToEscapeSlash = localize(1683, "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
|
*
|
|
@@ -32,8 +32,7 @@ let DataChannelForwardingTelemetryService = class DataChannelForwardingTelemetry
|
|
|
32
32
|
forward = Boolean(data[shouldForwardToChannel]);
|
|
33
33
|
}
|
|
34
34
|
if (forward) {
|
|
35
|
-
|
|
36
|
-
dataChannelService.getDataChannel('editTelemetry').sendData({ eventName, data: data });
|
|
35
|
+
dataChannelService.getDataChannel('editTelemetry').sendData({ eventName, data: data ?? {} });
|
|
37
36
|
}
|
|
38
37
|
});
|
|
39
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/platform/dataChannel/browser/forwardingTelemetryService.ts","vs/platform/dataChannel/browser/forwardingTelemetryService.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;;;;;;;;;;AAGhG,OAAO,EAAkB,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,OAAO,4BAA4B;IAGxC,YACkB,YAA+B,EAC/B,UAA8D;QAD9D,iBAAY,GAAZ,YAAY,CAAmB;QAC/B,eAAU,GAAV,UAAU,CAAoD;IAC5E,CAAC;IAEL,UAAU,CAAsF,SAAiB,EAAE,IAAgC;QAClJ,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;CACD;AAOM,IAAM,qCAAqC,GAA3C,MAAM,qCAAsC,SAAQ,4BAA4B;IACtF,YACoB,gBAAmC,EACjC,kBAAuC;QAE5D,KAAK,CAAC,gBAAgB,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE;YAC3C,uBAAuB;YACvB,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,IAAI,IAAI,IAAI,sBAAsB,IAAI,IAAI,EAAE,CAAC;gBAC5C,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACb,
|
|
1
|
+
{"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/platform/dataChannel/browser/forwardingTelemetryService.ts","vs/platform/dataChannel/browser/forwardingTelemetryService.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;;;;;;;;;;AAGhG,OAAO,EAAkB,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,OAAO,4BAA4B;IAGxC,YACkB,YAA+B,EAC/B,UAA8D;QAD9D,iBAAY,GAAZ,YAAY,CAAmB;QAC/B,eAAU,GAAV,UAAU,CAAoD;IAC5E,CAAC;IAEL,UAAU,CAAsF,SAAiB,EAAE,IAAgC;QAClJ,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;CACD;AAOM,IAAM,qCAAqC,GAA3C,MAAM,qCAAsC,SAAQ,4BAA4B;IACtF,YACoB,gBAAmC,EACjC,kBAAuC;QAE5D,KAAK,CAAC,gBAAgB,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE;YAC3C,uBAAuB;YACvB,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,IAAI,IAAI,IAAI,sBAAsB,IAAI,IAAI,EAAE,CAAC;gBAC5C,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACb,kBAAkB,CAAC,cAAc,CAAqB,eAAe,CAAC,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;YAClH,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;AAjBY,qCAAqC;IAE/C,WAAA,iBAAiB,CAAA;IACjB,WAAA,mBAAmB,CAAA;GAHT,qCAAqC,CAiBjD;;AAED,MAAM,sBAAsB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAChE,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAChD,OAAO;QACN,2DAA2D;QAC3D,CAAC,sBAAsB,CAAC,EAAE,KAAK;KAC/B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAA+B;IACrE,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,cAAc,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IACjD,OAAO,cAAc,KAAK,gBAAgB,IAAI,cAAc,KAAK,qBAAqB,CAAC;AACxF,CAAC","file":"forwardingTelemetryService.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 { ClassifiedEvent, OmitMetadata, IGDPRProperty, StrictPropertyCheck } from '../../telemetry/common/gdprTypings.js';\nimport { ITelemetryData, ITelemetryService } from '../../telemetry/common/telemetry.js';\nimport { IDataChannelService } from '../common/dataChannel.js';\n\nexport class InterceptingTelemetryService implements ITelemetryService {\n\t_serviceBrand: undefined;\n\n\tconstructor(\n\t\tprivate readonly _baseService: ITelemetryService,\n\t\tprivate readonly _intercept: (eventName: string, data?: ITelemetryData) => void,\n\t) { }\n\n\tpublicLog2<E extends ClassifiedEvent<OmitMetadata<T>> = never, T extends IGDPRProperty = never>(eventName: string, data?: StrictPropertyCheck<T, E>): void {\n\t\tthis._intercept(eventName, data);\n\t\tthis._baseService.publicLog2(eventName, data);\n\t}\n}\n\nexport interface IEditTelemetryData {\n\teventName: string;\n\tdata: Record<string, unknown>;\n}\n\nexport class DataChannelForwardingTelemetryService extends InterceptingTelemetryService {\n\tconstructor(\n\t\t@ITelemetryService telemetryService: ITelemetryService,\n\t\t@IDataChannelService dataChannelService: IDataChannelService,\n\t) {\n\t\tsuper(telemetryService, (eventName, data) => {\n\t\t\t// filter for extension\n\t\t\tlet forward = true;\n\t\t\tif (data && shouldForwardToChannel in data) {\n\t\t\t\tforward = Boolean(data[shouldForwardToChannel]);\n\t\t\t}\n\n\t\t\tif (forward) {\n\t\t\t\tdataChannelService.getDataChannel<IEditTelemetryData>('editTelemetry').sendData({ eventName, data: data ?? {} });\n\t\t\t}\n\t\t});\n\t}\n}\n\nconst shouldForwardToChannel = Symbol('shouldForwardToChannel');\nexport function forwardToChannelIf(value: boolean): Record<string, unknown> {\n\treturn {\n\t\t// This will not be sent via telemetry, it is just a marker\n\t\t[shouldForwardToChannel]: value\n\t};\n}\n\nexport function isCopilotLikeExtension(extensionId: string | undefined): boolean {\n\tif (!extensionId) {\n\t\treturn false;\n\t}\n\tconst extIdLowerCase = extensionId.toLowerCase();\n\treturn extIdLowerCase === 'github.copilot' || extIdLowerCase === 'github.copilot-chat';\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { ClassifiedEvent, OmitMetadata, IGDPRProperty, StrictPropertyCheck } from '../../telemetry/common/gdprTypings.js';\nimport { ITelemetryData, ITelemetryService } from '../../telemetry/common/telemetry.js';\nimport { IDataChannelService } from '../common/dataChannel.js';\n\nexport class InterceptingTelemetryService implements ITelemetryService {\n\t_serviceBrand: undefined;\n\n\tconstructor(\n\t\tprivate readonly _baseService: ITelemetryService,\n\t\tprivate readonly _intercept: (eventName: string, data?: ITelemetryData) => void,\n\t) { }\n\n\tpublicLog2<E extends ClassifiedEvent<OmitMetadata<T>> = never, T extends IGDPRProperty = never>(eventName: string, data?: StrictPropertyCheck<T, E>): void {\n\t\tthis._intercept(eventName, data);\n\t\tthis._baseService.publicLog2(eventName, data);\n\t}\n}\n\nexport interface IEditTelemetryData {\n\teventName: string;\n\tdata: Record<string, unknown>;\n}\n\nexport class DataChannelForwardingTelemetryService extends InterceptingTelemetryService {\n\tconstructor(\n\t\t@ITelemetryService telemetryService: ITelemetryService,\n\t\t@IDataChannelService dataChannelService: IDataChannelService,\n\t) {\n\t\tsuper(telemetryService, (eventName, data) => {\n\t\t\t// filter for extension\n\t\t\tlet forward = true;\n\t\t\tif (data && shouldForwardToChannel in data) {\n\t\t\t\tforward = Boolean(data[shouldForwardToChannel]);\n\t\t\t}\n\n\t\t\tif (forward) {\n\t\t\t\tdataChannelService.getDataChannel<IEditTelemetryData>('editTelemetry').sendData({ eventName, data: data ?? {} });\n\t\t\t}\n\t\t});\n\t}\n}\n\nconst shouldForwardToChannel = Symbol('shouldForwardToChannel');\nexport function forwardToChannelIf(value: boolean): Record<string, unknown> {\n\treturn {\n\t\t// This will not be sent via telemetry, it is just a marker\n\t\t[shouldForwardToChannel]: value\n\t};\n}\n\nexport function isCopilotLikeExtension(extensionId: string | undefined): boolean {\n\tif (!extensionId) {\n\t\treturn false;\n\t}\n\tconst extIdLowerCase = extensionId.toLowerCase();\n\treturn extIdLowerCase === 'github.copilot' || extIdLowerCase === 'github.copilot-chat';\n}\n"]}
|
|
@@ -43,10 +43,8 @@ export class LocalSelectionTransfer {
|
|
|
43
43
|
* in a safe way without crashing the application when running in the web.
|
|
44
44
|
*/
|
|
45
45
|
export function getPathForFile(file) {
|
|
46
|
-
// eslint-disable-next-line local/code-no-any-casts
|
|
47
46
|
if (isNative && typeof globalThis.vscode?.webUtils?.getPathForFile === 'function') {
|
|
48
|
-
|
|
49
|
-
return globalThis.vscode.webUtils.getPathForFile(file);
|
|
47
|
+
return globalThis.vscode?.webUtils?.getPathForFile(file);
|
|
50
48
|
}
|
|
51
49
|
return undefined;
|
|
52
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/platform/dnd/browser/dnd.ts","vs/platform/dnd/browser/dnd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAG7D,gCAAgC;AAEhC,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,8BAA8B;IACvC,OAAO,EAAE,kCAAkC;IAC3C,oBAAoB,EAAE,sBAAsB;IAC5C,gBAAgB,EAAE,kBAAkB;CACpC,CAAC;AAKF,MAAM,+BAA+B;CACpC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,uBAAuB,EAAE,qCAAqC;CAC9D,CAAC;AAEF,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,+BAA+B,EAAE,CAAC,CAAC;AAExF,YAAY;AAEZ,uBAAuB;AAEvB;;GAEG;AACH,MAAM,OAAO,sBAAsB;aAEV,aAAQ,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAKhE;QACC,yCAAyC;IAC1C,CAAC;IAED,MAAM,CAAC,WAAW;QACjB,OAAO,sBAAsB,CAAC,QAAqC,CAAC;IACrE,CAAC;IAED,OAAO,CAAC,KAAQ;QACf,OAAO,KAAK,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,KAAQ;QACf,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC;QAClB,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;;
|
|
1
|
+
{"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/platform/dnd/browser/dnd.ts","vs/platform/dnd/browser/dnd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAG7D,gCAAgC;AAEhC,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,8BAA8B;IACvC,OAAO,EAAE,kCAAkC;IAC3C,oBAAoB,EAAE,sBAAsB;IAC5C,gBAAgB,EAAE,kBAAkB;CACpC,CAAC;AAKF,MAAM,+BAA+B;CACpC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,uBAAuB,EAAE,qCAAqC;CAC9D,CAAC;AAEF,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,+BAA+B,EAAE,CAAC,CAAC;AAExF,YAAY;AAEZ,uBAAuB;AAEvB;;GAEG;AACH,MAAM,OAAO,sBAAsB;aAEV,aAAQ,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAKhE;QACC,yCAAyC;IAC1C,CAAC;IAED,MAAM,CAAC,WAAW;QACjB,OAAO,sBAAsB,CAAC,QAAqC,CAAC;IACrE,CAAC;IAED,OAAO,CAAC,KAAQ;QACf,OAAO,KAAK,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,KAAQ;QACf,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC;QAClB,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;;AAWF;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAU;IACxC,IAAI,QAAQ,IAAI,OAAQ,UAAgC,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,KAAK,UAAU,EAAE,CAAC;QAC1G,OAAQ,UAAgC,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,YAAY","file":"dnd.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["\nimport { isNative } from '../../../base/common/platform.js';\nimport { Registry } from '../../registry/common/platform.js';\n\n\n//#region Editor / Resources DND\n\nexport const CodeDataTransfers = {\n\tEDITORS: 'CodeEditors',\n\tFILES: 'CodeFiles',\n\tSYMBOLS: 'application/vnd.code.symbols',\n\tMARKERS: 'application/vnd.code.diagnostics',\n\tNOTEBOOK_CELL_OUTPUT: 'notebook-cell-output',\n\tSCM_HISTORY_ITEM: 'scm-history-item',\n};\n\nexport interface IDragAndDropContributionRegistry {\n}\n\nclass DragAndDropContributionRegistry implements IDragAndDropContributionRegistry {\n}\n\nexport const Extensions = {\n\tDragAndDropContribution: 'workbench.contributions.dragAndDrop'\n};\n\nRegistry.add(Extensions.DragAndDropContribution, new DragAndDropContributionRegistry());\n\n//#endregion\n\n//#region DND Utilities\n\n/**\n * A singleton to store transfer data during drag & drop operations that are only valid within the application.\n */\nexport class LocalSelectionTransfer<T> {\n\n\tprivate static readonly INSTANCE = new LocalSelectionTransfer();\n\n\tprivate data?: T[];\n\tprivate proto?: T;\n\n\tprivate constructor() {\n\t\t// protect against external instantiation\n\t}\n\n\tstatic getInstance<T>(): LocalSelectionTransfer<T> {\n\t\treturn LocalSelectionTransfer.INSTANCE as LocalSelectionTransfer<T>;\n\t}\n\n\thasData(proto: T): boolean {\n\t\treturn proto && proto === this.proto;\n\t}\n\n\tgetData(proto: T): T[] | undefined {\n\t\tif (this.hasData(proto)) {\n\t\t\treturn this.data;\n\t\t}\n\n\t\treturn undefined;\n\t}\n}\n\ninterface IElectronWebUtils {\n\tvscode?: {\n\t\twebUtils?: {\n\t\t\tgetPathForFile(file: File): string;\n\t\t};\n\t};\n}\n\n/**\n * A helper to get access to Electrons `webUtils.getPathForFile` function\n * in a safe way without crashing the application when running in the web.\n */\nexport function getPathForFile(file: File): string | undefined {\n\tif (isNative && typeof (globalThis as IElectronWebUtils).vscode?.webUtils?.getPathForFile === 'function') {\n\t\treturn (globalThis as IElectronWebUtils).vscode?.webUtils?.getPathForFile(file);\n\t}\n\n\treturn undefined;\n}\n\n//#endregion\n","\nimport { isNative } from '../../../base/common/platform.js';\nimport { Registry } from '../../registry/common/platform.js';\n\n\n//#region Editor / Resources DND\n\nexport const CodeDataTransfers = {\n\tEDITORS: 'CodeEditors',\n\tFILES: 'CodeFiles',\n\tSYMBOLS: 'application/vnd.code.symbols',\n\tMARKERS: 'application/vnd.code.diagnostics',\n\tNOTEBOOK_CELL_OUTPUT: 'notebook-cell-output',\n\tSCM_HISTORY_ITEM: 'scm-history-item',\n};\n\nexport interface IDragAndDropContributionRegistry {\n}\n\nclass DragAndDropContributionRegistry implements IDragAndDropContributionRegistry {\n}\n\nexport const Extensions = {\n\tDragAndDropContribution: 'workbench.contributions.dragAndDrop'\n};\n\nRegistry.add(Extensions.DragAndDropContribution, new DragAndDropContributionRegistry());\n\n//#endregion\n\n//#region DND Utilities\n\n/**\n * A singleton to store transfer data during drag & drop operations that are only valid within the application.\n */\nexport class LocalSelectionTransfer<T> {\n\n\tprivate static readonly INSTANCE = new LocalSelectionTransfer();\n\n\tprivate data?: T[];\n\tprivate proto?: T;\n\n\tprivate constructor() {\n\t\t// protect against external instantiation\n\t}\n\n\tstatic getInstance<T>(): LocalSelectionTransfer<T> {\n\t\treturn LocalSelectionTransfer.INSTANCE as LocalSelectionTransfer<T>;\n\t}\n\n\thasData(proto: T): boolean {\n\t\treturn proto && proto === this.proto;\n\t}\n\n\tgetData(proto: T): T[] | undefined {\n\t\tif (this.hasData(proto)) {\n\t\t\treturn this.data;\n\t\t}\n\n\t\treturn undefined;\n\t}\n}\n\ninterface IElectronWebUtils {\n\tvscode?: {\n\t\twebUtils?: {\n\t\t\tgetPathForFile(file: File): string;\n\t\t};\n\t};\n}\n\n/**\n * A helper to get access to Electrons `webUtils.getPathForFile` function\n * in a safe way without crashing the application when running in the web.\n */\nexport function getPathForFile(file: File): string | undefined {\n\tif (isNative && typeof (globalThis as IElectronWebUtils).vscode?.webUtils?.getPathForFile === 'function') {\n\t\treturn (globalThis as IElectronWebUtils).vscode?.webUtils?.getPathForFile(file);\n\t}\n\n\treturn undefined;\n}\n\n//#endregion\n"]}
|
|
@@ -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(1684, "Whether suggestion are visible"));
|
|
22
22
|
const HistoryNavigationWidgetFocusContext = 'historyNavigationWidgetFocus';
|
|
23
23
|
const HistoryNavigationForwardsEnablementContext = 'historyNavigationForwardsEnabled';
|
|
24
24
|
const HistoryNavigationBackwardsEnablementContext = 'historyNavigationBackwardsEnabled';
|
|
@@ -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(1685, "({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(1686, "({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(1687, "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(1688, "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(1689, "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(1690, "Maps to `Control` on Windows and Linux and to `Command` on macOS."),
|
|
915
|
+
localize(1691, "Maps to `Alt` on Windows and Linux and to `Option` on macOS.")
|
|
916
916
|
],
|
|
917
917
|
default: 'ctrlCmd',
|
|
918
|
-
description: localize(
|
|
918
|
+
description: localize(1692, "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(1693, "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(1694, "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(1695, "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(1696, "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(1697, "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(1698, "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(1699, "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(1700, "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(1701, "Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),
|
|
978
|
+
localize(1702, "Filter elements when searching.")
|
|
979
979
|
],
|
|
980
980
|
default: 'highlight',
|
|
981
|
-
description: localize(
|
|
981
|
+
description: localize(1703, "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(1704, "Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),
|
|
988
|
+
localize(1705, "Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),
|
|
989
|
+
localize(1706, "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(1707, "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(1708, "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(1709, "Use fuzzy matching when searching."),
|
|
1001
|
+
localize(1710, "Use contiguous matching when searching.")
|
|
1002
1002
|
],
|
|
1003
1003
|
default: 'fuzzy',
|
|
1004
|
-
description: localize(
|
|
1004
|
+
description: localize(1711, "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(1712, "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(1713, "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(1714, "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(1715, "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(1722, "Problems are paused because: \"{0}\"", reasons[0])
|
|
243
|
+
: localize(1723, "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(1716, "Error");
|
|
22
|
+
_displayStrings[MarkerSeverity.Warning] = localize(1717, "Warning");
|
|
23
|
+
_displayStrings[MarkerSeverity.Info] = localize(1718, "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(1719, "Errors");
|
|
30
|
+
_displayStringsPlural[MarkerSeverity.Warning] = localize(1720, "Warnings");
|
|
31
|
+
_displayStringsPlural[MarkerSeverity.Info] = localize(1721, "Infos");
|
|
32
32
|
function toStringPlural(a) {
|
|
33
33
|
return _displayStringsPlural[a] || '';
|
|
34
34
|
}
|
|
@@ -10,7 +10,6 @@ import { env } from '../../../base/common/process.js';
|
|
|
10
10
|
*/
|
|
11
11
|
let product;
|
|
12
12
|
// Native sandbox environment
|
|
13
|
-
// eslint-disable-next-line local/code-no-any-casts
|
|
14
13
|
const vscodeGlobal = globalThis.vscode;
|
|
15
14
|
if (typeof vscodeGlobal !== 'undefined' && typeof vscodeGlobal.context !== 'undefined') {
|
|
16
15
|
const configuration = vscodeGlobal.context.configuration();
|
|
@@ -47,7 +46,7 @@ else if (globalThis._VSCODE_PRODUCT_JSON && globalThis._VSCODE_PACKAGE_JSON) {
|
|
|
47
46
|
// Web environment or unknown
|
|
48
47
|
else {
|
|
49
48
|
// Built time configuration (do NOT modify)
|
|
50
|
-
// eslint-disable-next-line local/code-no-
|
|
49
|
+
// eslint-disable-next-line local/code-no-dangerous-type-assertions
|
|
51
50
|
product = { /*BUILD->INSERT_PRODUCT_CONFIGURATION*/};
|
|
52
51
|
// Running out of sources
|
|
53
52
|
if (Object.keys(product).length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/platform/product/common/product.ts","vs/platform/product/common/product.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAItD;;;;GAIG;AACH,IAAI,OAA8B,CAAC;AAEnC,6BAA6B;AAC7B,
|
|
1
|
+
{"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/platform/product/common/product.ts","vs/platform/product/common/product.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAItD;;;;GAIG;AACH,IAAI,OAA8B,CAAC;AAEnC,6BAA6B;AAC7B,MAAM,YAAY,GAAI,UAAgG,CAAC,MAAM,CAAC;AAC9H,IAAI,OAAO,YAAY,KAAK,WAAW,IAAI,OAAO,YAAY,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;IACxF,MAAM,aAAa,GAAsC,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IAC9F,IAAI,aAAa,EAAE,CAAC;QACnB,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IACjC,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC1F,CAAC;AACF,CAAC;AACD,sBAAsB;KACjB,IAAI,UAAU,CAAC,oBAAoB,IAAI,UAAU,CAAC,oBAAoB,EAAE,CAAC;IAC7E,wDAAwD;IACxD,OAAO,GAAG,UAAU,CAAC,oBAAwD,CAAC;IAE9E,yBAAyB;IACzB,IAAI,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;YACtB,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,MAAM;YACrC,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,MAAM;YACnC,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,MAAM;YAC/C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,oBAAoB,MAAM,CAAC,CAAC,CAAC,SAAS;SACtG,CAAC,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,+CAA+C;IAC/C,kDAAkD;IAClD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,UAAU,CAAC,oBAA2C,CAAC;QAEnE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;YACtB,OAAO,EAAE,GAAG,CAAC,OAAO;SACpB,CAAC,CAAC;IACJ,CAAC;AACF,CAAC;AAED,6BAA6B;KACxB,CAAC;IAEL,2CAA2C;IAC3C,mEAAmE;IACnE,OAAO,GAAG,EAAE,uCAAuC,CAAsC,CAAC;IAE1F,yBAAyB;IACzB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;YACtB,OAAO,EAAE,aAAa;YACtB,SAAS,EAAE,gBAAgB;YAC3B,QAAQ,EAAE,gBAAgB;YAC1B,eAAe,EAAE,UAAU;YAC3B,cAAc,EAAE,aAAa;YAC7B,WAAW,EAAE,UAAU;YACvB,cAAc,EAAE,gDAAgD;YAChE,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,2DAA2D;YACvE,gBAAgB,EAAE,2DAA2D;SAC7E,CAAC,CAAC;IACJ,CAAC;AACF,CAAC;AAED,eAAe,OAAO,CAAC","file":"product.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 { env } from '../../../base/common/process.js';\nimport { IProductConfiguration } from '../../../base/common/product.js';\nimport { ISandboxConfiguration } from '../../../base/parts/sandbox/common/sandboxTypes.js';\n\n/**\n * @deprecated It is preferred that you use `IProductService` if you can. This\n * allows web embedders to override our defaults. But for things like `product.quality`,\n * the use is fine because that property is not overridable.\n */\nlet product: IProductConfiguration;\n\n// Native sandbox environment\nconst vscodeGlobal = (globalThis as { vscode?: { context?: { configuration(): ISandboxConfiguration | undefined } } }).vscode;\nif (typeof vscodeGlobal !== 'undefined' && typeof vscodeGlobal.context !== 'undefined') {\n\tconst configuration: ISandboxConfiguration | undefined = vscodeGlobal.context.configuration();\n\tif (configuration) {\n\t\tproduct = configuration.product;\n\t} else {\n\t\tthrow new Error('Sandbox: unable to resolve product configuration from preload script.');\n\t}\n}\n// _VSCODE environment\nelse if (globalThis._VSCODE_PRODUCT_JSON && globalThis._VSCODE_PACKAGE_JSON) {\n\t// Obtain values from product.json and package.json-data\n\tproduct = globalThis._VSCODE_PRODUCT_JSON as unknown as IProductConfiguration;\n\n\t// Running out of sources\n\tif (env['VSCODE_DEV']) {\n\t\tObject.assign(product, {\n\t\t\tnameShort: `${product.nameShort} Dev`,\n\t\t\tnameLong: `${product.nameLong} Dev`,\n\t\t\tdataFolderName: `${product.dataFolderName}-dev`,\n\t\t\tserverDataFolderName: product.serverDataFolderName ? `${product.serverDataFolderName}-dev` : undefined\n\t\t});\n\t}\n\n\t// Version is added during built time, but we still\n\t// want to have it running out of sources so we\n\t// read it from package.json only when we need it.\n\tif (!product.version) {\n\t\tconst pkg = globalThis._VSCODE_PACKAGE_JSON as { version: string };\n\n\t\tObject.assign(product, {\n\t\t\tversion: pkg.version\n\t\t});\n\t}\n}\n\n// Web environment or unknown\nelse {\n\n\t// Built time configuration (do NOT modify)\n\t// eslint-disable-next-line local/code-no-dangerous-type-assertions\n\tproduct = { /*BUILD->INSERT_PRODUCT_CONFIGURATION*/ } as unknown as IProductConfiguration;\n\n\t// Running out of sources\n\tif (Object.keys(product).length === 0) {\n\t\tObject.assign(product, {\n\t\t\tversion: '1.104.0-dev',\n\t\t\tnameShort: 'Code - OSS Dev',\n\t\t\tnameLong: 'Code - OSS Dev',\n\t\t\tapplicationName: 'code-oss',\n\t\t\tdataFolderName: '.vscode-oss',\n\t\t\turlProtocol: 'code-oss',\n\t\t\treportIssueUrl: 'https://github.com/microsoft/vscode/issues/new',\n\t\t\tlicenseName: 'MIT',\n\t\t\tlicenseUrl: 'https://github.com/microsoft/vscode/blob/main/LICENSE.txt',\n\t\t\tserverLicenseUrl: 'https://github.com/microsoft/vscode/blob/main/LICENSE.txt'\n\t\t});\n\t}\n}\n\nexport default product;\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { env } from '../../../base/common/process.js';\nimport { IProductConfiguration } from '../../../base/common/product.js';\nimport { ISandboxConfiguration } from '../../../base/parts/sandbox/common/sandboxTypes.js';\n\n/**\n * @deprecated It is preferred that you use `IProductService` if you can. This\n * allows web embedders to override our defaults. But for things like `product.quality`,\n * the use is fine because that property is not overridable.\n */\nlet product: IProductConfiguration;\n\n// Native sandbox environment\nconst vscodeGlobal = (globalThis as { vscode?: { context?: { configuration(): ISandboxConfiguration | undefined } } }).vscode;\nif (typeof vscodeGlobal !== 'undefined' && typeof vscodeGlobal.context !== 'undefined') {\n\tconst configuration: ISandboxConfiguration | undefined = vscodeGlobal.context.configuration();\n\tif (configuration) {\n\t\tproduct = configuration.product;\n\t} else {\n\t\tthrow new Error('Sandbox: unable to resolve product configuration from preload script.');\n\t}\n}\n// _VSCODE environment\nelse if (globalThis._VSCODE_PRODUCT_JSON && globalThis._VSCODE_PACKAGE_JSON) {\n\t// Obtain values from product.json and package.json-data\n\tproduct = globalThis._VSCODE_PRODUCT_JSON as unknown as IProductConfiguration;\n\n\t// Running out of sources\n\tif (env['VSCODE_DEV']) {\n\t\tObject.assign(product, {\n\t\t\tnameShort: `${product.nameShort} Dev`,\n\t\t\tnameLong: `${product.nameLong} Dev`,\n\t\t\tdataFolderName: `${product.dataFolderName}-dev`,\n\t\t\tserverDataFolderName: product.serverDataFolderName ? `${product.serverDataFolderName}-dev` : undefined\n\t\t});\n\t}\n\n\t// Version is added during built time, but we still\n\t// want to have it running out of sources so we\n\t// read it from package.json only when we need it.\n\tif (!product.version) {\n\t\tconst pkg = globalThis._VSCODE_PACKAGE_JSON as { version: string };\n\n\t\tObject.assign(product, {\n\t\t\tversion: pkg.version\n\t\t});\n\t}\n}\n\n// Web environment or unknown\nelse {\n\n\t// Built time configuration (do NOT modify)\n\t// eslint-disable-next-line local/code-no-dangerous-type-assertions\n\tproduct = { /*BUILD->INSERT_PRODUCT_CONFIGURATION*/ } as unknown as IProductConfiguration;\n\n\t// Running out of sources\n\tif (Object.keys(product).length === 0) {\n\t\tObject.assign(product, {\n\t\t\tversion: '1.104.0-dev',\n\t\t\tnameShort: 'Code - OSS Dev',\n\t\t\tnameLong: 'Code - OSS Dev',\n\t\t\tapplicationName: 'code-oss',\n\t\t\tdataFolderName: '.vscode-oss',\n\t\t\turlProtocol: 'code-oss',\n\t\t\treportIssueUrl: 'https://github.com/microsoft/vscode/issues/new',\n\t\t\tlicenseName: 'MIT',\n\t\t\tlicenseUrl: 'https://github.com/microsoft/vscode/blob/main/LICENSE.txt',\n\t\t\tserverLicenseUrl: 'https://github.com/microsoft/vscode/blob/main/LICENSE.txt'\n\t\t});\n\t}\n}\n\nexport default product;\n"]}
|
|
@@ -29,6 +29,7 @@ import { ILogService } from '../../log/common/log.js';
|
|
|
29
29
|
import { PickerQuickAccessProvider } from './pickerQuickAccess.js';
|
|
30
30
|
import { IStorageService, WillSaveStateReason } from '../../storage/common/storage.js';
|
|
31
31
|
import { ITelemetryService } from '../../telemetry/common/telemetry.js';
|
|
32
|
+
import { removeAccents } from '../../../base/common/normalization.js';
|
|
32
33
|
let AbstractCommandsQuickAccessProvider = class AbstractCommandsQuickAccessProvider extends PickerQuickAccessProvider {
|
|
33
34
|
static { AbstractCommandsQuickAccessProvider_1 = this; }
|
|
34
35
|
static { this.PREFIX = '>'; }
|
|
@@ -61,11 +62,17 @@ let AbstractCommandsQuickAccessProvider = class AbstractCommandsQuickAccessProvi
|
|
|
61
62
|
.filter(score => score.score > AbstractCommandsQuickAccessProvider_1.TFIDF_THRESHOLD)
|
|
62
63
|
.slice(0, AbstractCommandsQuickAccessProvider_1.TFIDF_MAX_RESULTS);
|
|
63
64
|
});
|
|
65
|
+
const noAccentsFilter = this.normalizeForFiltering(filter);
|
|
64
66
|
// Filter
|
|
65
67
|
const filteredCommandPicks = [];
|
|
66
68
|
for (const commandPick of allCommandPicks) {
|
|
67
|
-
|
|
68
|
-
const
|
|
69
|
+
commandPick.labelNoAccents ??= this.normalizeForFiltering(commandPick.label);
|
|
70
|
+
const labelHighlights = AbstractCommandsQuickAccessProvider_1.WORD_FILTER(noAccentsFilter, commandPick.labelNoAccents) ?? undefined;
|
|
71
|
+
let aliasHighlights;
|
|
72
|
+
if (commandPick.commandAlias) {
|
|
73
|
+
commandPick.aliasNoAccents ??= this.normalizeForFiltering(commandPick.commandAlias);
|
|
74
|
+
aliasHighlights = AbstractCommandsQuickAccessProvider_1.WORD_FILTER(noAccentsFilter, commandPick.aliasNoAccents) ?? undefined;
|
|
75
|
+
}
|
|
69
76
|
// Add if matching in label or alias
|
|
70
77
|
if (labelHighlights || aliasHighlights) {
|
|
71
78
|
commandPick.highlights = {
|
|
@@ -154,22 +161,22 @@ let AbstractCommandsQuickAccessProvider = class AbstractCommandsQuickAccessProvi
|
|
|
154
161
|
const commandPick = filteredCommandPicks[i];
|
|
155
162
|
// Separator: recently used
|
|
156
163
|
if (i === 0 && this.commandsHistory.peek(commandPick.commandId)) {
|
|
157
|
-
commandPicks.push({ type: 'separator', label: localize(
|
|
164
|
+
commandPicks.push({ type: 'separator', label: localize(1724, "recently used") });
|
|
158
165
|
addOtherSeparator = true;
|
|
159
166
|
}
|
|
160
167
|
if (addSuggestedSeparator && commandPick.tfIdfScore !== undefined) {
|
|
161
|
-
commandPicks.push({ type: 'separator', label: localize(
|
|
168
|
+
commandPicks.push({ type: 'separator', label: localize(1725, "similar commands") });
|
|
162
169
|
addSuggestedSeparator = false;
|
|
163
170
|
}
|
|
164
171
|
// Separator: commonly used
|
|
165
172
|
if (addCommonlyUsedSeparator && commandPick.tfIdfScore === undefined && !this.commandsHistory.peek(commandPick.commandId) && this.options.suggestedCommandIds?.has(commandPick.commandId)) {
|
|
166
|
-
commandPicks.push({ type: 'separator', label: localize(
|
|
173
|
+
commandPicks.push({ type: 'separator', label: localize(1726, "commonly used") });
|
|
167
174
|
addOtherSeparator = true;
|
|
168
175
|
addCommonlyUsedSeparator = false;
|
|
169
176
|
}
|
|
170
177
|
// Separator: other commands
|
|
171
178
|
if (addOtherSeparator && commandPick.tfIdfScore === undefined && !this.commandsHistory.peek(commandPick.commandId) && !this.options.suggestedCommandIds?.has(commandPick.commandId)) {
|
|
172
|
-
commandPicks.push({ type: 'separator', label: localize(
|
|
179
|
+
commandPicks.push({ type: 'separator', label: localize(1727, "other commands") });
|
|
173
180
|
addOtherSeparator = false;
|
|
174
181
|
}
|
|
175
182
|
// Command
|
|
@@ -189,7 +196,7 @@ let AbstractCommandsQuickAccessProvider = class AbstractCommandsQuickAccessProvi
|
|
|
189
196
|
// Basically, if we haven't already added a separator, we add one before the additional picks so long
|
|
190
197
|
// as one hasn't been added to the start of the array.
|
|
191
198
|
if (addSuggestedSeparator && commandPicks[0]?.type !== 'separator') {
|
|
192
|
-
commandPicks.unshift({ type: 'separator', label: localize(
|
|
199
|
+
commandPicks.unshift({ type: 'separator', label: localize(1728, "similar commands") });
|
|
193
200
|
}
|
|
194
201
|
return commandPicks;
|
|
195
202
|
})()
|
|
@@ -201,7 +208,7 @@ let AbstractCommandsQuickAccessProvider = class AbstractCommandsQuickAccessProvi
|
|
|
201
208
|
}
|
|
202
209
|
const keybinding = this.keybindingService.lookupKeybinding(commandPick.commandId);
|
|
203
210
|
const ariaLabel = keybinding ?
|
|
204
|
-
localize(
|
|
211
|
+
localize(1729, "{0}, {1}", commandPick.label, keybinding.getAriaLabel()) :
|
|
205
212
|
commandPick.label;
|
|
206
213
|
return {
|
|
207
214
|
...commandPick,
|
|
@@ -224,7 +231,7 @@ let AbstractCommandsQuickAccessProvider = class AbstractCommandsQuickAccessProvi
|
|
|
224
231
|
}
|
|
225
232
|
catch (error) {
|
|
226
233
|
if (!isCancellationError(error)) {
|
|
227
|
-
this.dialogService.error(localize(
|
|
234
|
+
this.dialogService.error(localize(1730, "Command '{0}' resulted in an error", commandPick.label), toErrorMessage(error));
|
|
228
235
|
}
|
|
229
236
|
}
|
|
230
237
|
}
|
|
@@ -242,6 +249,23 @@ let AbstractCommandsQuickAccessProvider = class AbstractCommandsQuickAccessProvi
|
|
|
242
249
|
}
|
|
243
250
|
return chunk;
|
|
244
251
|
}
|
|
252
|
+
/**
|
|
253
|
+
* Normalizes a string for filtering by removing accents, but only if the result has the same length, otherwise
|
|
254
|
+
* returns the original string.
|
|
255
|
+
*/
|
|
256
|
+
normalizeForFiltering(value) {
|
|
257
|
+
const withoutAccents = removeAccents(value);
|
|
258
|
+
if (withoutAccents.length !== value.length) {
|
|
259
|
+
this.telemetryService.publicLog2('QuickAccess:FilterLengthMismatch', {
|
|
260
|
+
originalLength: value.length,
|
|
261
|
+
normalizedLength: withoutAccents.length
|
|
262
|
+
});
|
|
263
|
+
return value;
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
return withoutAccents;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
245
269
|
};
|
|
246
270
|
AbstractCommandsQuickAccessProvider = AbstractCommandsQuickAccessProvider_1 = __decorate([
|
|
247
271
|
__param(1, IInstantiationService),
|